Я использую PHP и jQuery для создания интерактивной временной шкалы, которая должна отобразить даты между 1500 и 2020. Я обычно использую PHP's strtotime
функционируйте при работе с датами, но это не работает на даты пред1900.
Даты прибудут из базы данных MySQL и отформатированы как строки такой как"January 31, 1654
"(это не может быть идеальным форматом, но я не могу измениться, как они хранятся). Я использую PHP для парсинга дат, в основном преобразовывая их в пиксельные значения, которые определяют, где они отображены на временной шкале.
Что самый легкий путь состоит в том, чтобы проанализировать эти исторические даты?
Здесь может помочь класс DateTime
( цитируя ):
Каждый компонент даты ( например, год) хранится внутри как 64-битное число, поэтому поддерживаются все мыслимые даты (включая отрицательные годы).
Но обратите внимание, что:
Итак: будьте осторожны, какие методы вы используете, если вы разрабатываете на PHP 5.3 и хотите, чтобы ваше программное обеспечение было совместимо с PHP 5.2
Другим решением (особенно при использовании Zend Framework в вашем приложении) был бы компонент Zend_Date
( цитата ):
Хотя в документации PHP 5.2 указано, « допустимый диапазон метки времени обычно с пятницы, 13 декабря 1901 г. 20: С 45:54 GMT по вторник, 19 января 2038 г., 03:14:07 GMT, "
Zend_Date
поддерживает почти неограниченный диапазон с помощью расширение BCMath