views:

54

answers:

3

Is there any way I can return a date using PHP that is the same format that Date.UTC(y,m,d) returns?

Here is an example of the format I need:

1274745600000 (Apr 25, 2010)

+1  A: 

[EDITed]:

The way it returns OUTPUT is the milliseconds from January 1, 1970 to July 8, 2005, according to universal time: which you can get by mktime and appending three 0 like this:

echo mktime(0, 0, 0, 9, 15, 2010).'000';

This will display:

1284508800000


And you can use date function to get in JS UTC INPUT format:

echo date("Y,n,j");

This will display:

2010,9,15


shamittomar
The UTC() method returns the number of milliseconds in a date string since midnight of January 1, 1970, according to universal time.
sheeks06
@sheeks06, ohh I thought he wants the input format.
shamittomar
I'm trying to return a date in JS UTC format directly from PHP so I don't have to convert it using JS. Is this possible?
Ian Silber
Yes, using `mktime` (the first method), it is possible. It returns the data in UTC format. Try it.
shamittomar
@shamittormar mktime() returns SECONDS. Date.UTC() returns milliseconds in a slightly different format.
Ian Silber
@Ian, I have updated the answer.
shamittomar
A: 

Inside your function use

date_default_timezone_set('UTC');

This set the default timezone to use. Available since PHP 5.1.And you can simply echo date by date() function.

Wazzy
+1  A: 

PHP:

$date = '13-09-2010 00:00:00';
date_default_timezone_set('UTC');
echo  (strtotime($date) * 1000) - (strtotime('02-0-1970 00:00:00') * 1000);
//1286928000000

Javascript:

Date.UTC(2010, 9, 13);
//1286928000000
sheeks06