我有一些日期是由之前的javascript和隐藏文本字段输出的。
我需要将其转换为其他格式(dd / mm / yyyy),我不太清楚该怎么做。
这些值是动态的,所以我不确定会有多少,所以我想它可能需要通过循环运行?
我需要转换此
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)
到
19/01/2011,20/01/2011,21/01/2011,22/01/2011,23/01/2011
任何帮助都会很棒。
谢谢,
答案 0 :(得分:4)
$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);
另请注意,此代码取决于本地时区。因此,如果您的时区不是GMT+11
,那么您可以使用date_default_timezone_set('Australia/Canberra');
进行更改,例如
答案 1 :(得分:1)
<?php
echo date('d/m/Y', strtotime("Wed Jan 19 2011 00:00:00 GMT+1100 (EST)"));
答案 2 :(得分:1)
你可以做这样的事情
$str='Wed Jan 19 2011 00:00:00 GMT+1100 (EST)';
$t=strtotime($str);
echo strftime('%d/%m/%Y', $t);
但请注意,strtotime将使用系统时区来转换时间 - 我在英国,这次,当转换为GMT时,实际上会显示'18 / 01/2011'。只是需要注意的事情!从手册:
每次调用日期/时间函数 如果时间会产生E_NOTICE 区域无效,和/或E_STRICT 如果使用,则为E_WARNING消息 系统设置或TZ环境 变量。也可以看看 date_default_timezone_set()
答案 3 :(得分:0)