开发者

Changing multiple outputted calendar format

I have some dates that are outputted by previous javascript and into a hidden text fields.

I need to convert it to another form开发者_StackOverflowat ( dd/mm/yyyy ) and am not quite sure how to do it.

The values are dynamic so im not sure how many there will be so i guess it will need to run through a loop maybe?

I need to convert this

Wed Jan 19 2011 00:00:00 GMT+1100 (EST),Thu Jan 20 2011 00:00:00 GMT+1100 (EST),Fri Jan 21 2011 00:00:00 GMT+1100 (EST),Sat Jan 22 2011 00:00:00 GMT+1100 (EST),Sun Jan 23 2011 00:00:00 GMT+1100 (EST)

to

19/01/2011,20/01/2011,21/01/2011,22/01/2011,23/01/2011

Any help would be great.

Thanks,


$str = 'Wed Jan 19 2011 00:00:00 GMT+1100 (EST),Thu Jan 20 2011 00:00:00 GMT+1100 (EST),Fri Jan 21 2011 00:00:00 GMT+1100 (EST),Sat Jan 22 2011 00:00:00 GMT+1100 (EST),Sun Jan 23 2011 00:00:00 GMT+1100 (EST)';

$dates = explode(',', $str);
$result = array();
foreach ($dates as $date) {
    $result[] = date('d/m/Y', strtotime($date));
}
echo implode(',', $result);

Also, note that this code depends on the local timezone. So if your timezone isn't GMT+11, then you can change it with date_default_timezone_set('Australia/Canberra'); for example


<?php
echo date('d/m/Y', strtotime("Wed Jan 19 2011 00:00:00 GMT+1100 (EST)"));


You can do something like this

$str='Wed Jan 19 2011 00:00:00 GMT+1100 (EST)';
$t=strtotime($str);
echo strftime('%d/%m/%Y', $t);

Note however that strtotime will use the system timezone to convert the time - I'm in the UK and this time, when coverted to GMT, would actually display '18/01/2011'. Just something to be aware of! From the manual:

Every call to a date/time function will generate a E_NOTICE if the time zone is not valid, and/or a E_STRICT or E_WARNING message if using the system settings or the TZ environment variable. See also date_default_timezone_set()


You need to explode it and then use the strtotime function.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜