2011-01-20

Функция преобразования даты из ISO 8601

программирование, PHP

Потребовалось обработать логи в которых дата хранилась примерно в таком формате 2010-12-03T18:34:33-0500. К сожалению в PHP нет толковой функции для преобразования строкового представления даты в timestamp. Как показала практика strtodate совершенно не учитывает последние четыре знака в строке которые она просто отбрасывет.

Пришлось парсерить строчку ручками и вот что получилось:

function covertdate($date){
	preg_match('/(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})([-+])(\d{2})(\d{2})/', $date,$res);
	list($d,$year,$month,$day,$hour,$minute,$second,$digit,$zonehours,$zoneminutes) = $res;
	
	$offset = ((int)($digit."1"))*($zonehours*3600+$zoneminutes*60);
	
	$timestamp = gmmktime($hour,$minute,$second,$month,$day,$year)-$offset;
	return $timestamp;
}

 

 

комментарии:

 
Сергей (анонимный пользователь) | 2011-06-29

Ошыбка есть, заканчиваться должно ([-+])(\d{2}):(\d{2})/' , а у тебя двоеточия нет )))

RSS комментариев

Для того чтобы каждый раз не представляться можно войти как зарегистрированный пользователь.

Имя*

разрешены только теги br, font, span, p, strong, u, p, blockquote, a, div, img - остальные будут безжалостно удаляться

разное (190)
howto (124)
программирование (109)
гад-же-ты (75)
мысли (42)
PHP (41)
JavaScript (39)
вебмастеринг (37)
linux (29)
гондураша (28)
юмор (25)
полезное (21)
движок (17)
Android (17)
софт (15)
кино (14)
деньги (14)
видео (13)
diy (11)
путешествия (10)
беспредел (10)
книги (10)
музыка (10)
интернет (10)
умный дом (8)
занимательная физика (8)
ztools (8)
языки (7)
Nokia 5800 (7)
хостинг (7)
lifehack (6)
вебдизайн (6)
css (6)
arduino (5)
apple (5)
связной (5)
прелоадер (5)
козлы (5)
oDesk (5)
кухня (4)
svn (4)
движек (4)
аниме (4)
Python (4)
занимательная юриспруденция (4)
software (3)
synphony (3)
рестораны (3)
энергия (3)
спорт (2)
фото на документы (2)
webmastering (2)
гитара (2)
Берлин (2)
Java (2)
bash (2)
Ruby on Rails (2)
гаджеты (2)
дурдом (1)
авторское право (1)
восстановить (1)
C++ (1)
технологии (1)
годнурас (1)
микросервисы (1)
сайты (1)
наука (1)
programming (1)
SEO (1)
Приехал ESP32 - Cam (1)
Поиск по блогу:

Valid XHTML 1.0 Strict