PDA

View Full Version : Help Converting Dates


socals
09-18-2004, 05:36 PM
I'm trying to convert different date/time strings from different GMT settings into the same format as the vBulletin TIMENOW, so that I can store them in a dateline field.

Example of my date/time strings:

2004-09-18T17:57:00+00:00
2004-09-13T06:44:30-07:00
Wed, 15 Sep 2004 08:15:00 PST

Any help would be greatly appreciated.

I'm taking RSS feeds and storing them in a database, and I'd like to use the same vBulletin date format.

What I have so far is a manual way for the 1st 2 dates in my list:

$newsdate = $this->dcdate;
//$newsdate = "2004-09-18T12:28:30-07:00";
$nyear = substr($newsdate,0,4);
$nmonth = substr($newsdate,5,2);
$nday = substr($newsdate,8,2);
$nhour = substr($newsdate,11,2);
$nmin = substr($newsdate,14,2);
$nsec = substr($newsdate,17,2);
$dateline = mktime($nhour, $nmin, $nsec, $nmonth , $nday, $nyear);


I would still need to write code to manually fix the GMT time, but I figure there is a routine to do this? Or an easier way than my attempt?

NTLDR
09-19-2004, 07:01 PM
You should be able to use strtotime() (http://uk.php.net/manual/en/function.strtotime.php) to convert the text dates into UNIX datelines, this *should* also take into account the different time zones, however I've not tried it so I can't be sure.

socals
09-21-2004, 12:10 AM
Thanks alot! strtotime pretty much does all the work, just alittle help formatting at the beginning. If anyone else is interested here were my original examples:

2004-09-18T17:57:00+00:00 - needs formatting
2004-09-13T06:44:30-07:00 - (obv same as above)
Wed, 15 Sep 2004 08:15:00 PST - no formatting necessary

On the 1st two, just change:
2004-09-18 17:57:00+0000 - Remove "T" and ":" from time zone.
2004-09-13 06:44:30-0700