我是英国人但是为美国客户工作,他希望时间显示加上偏移.
为什么这样做:
$date = date('d-m-Y H:i');
$timeToAdd = strtotime(date("d-m-Y H:i", strtotime($date)) . " + 8 hour");
$newDate = date('d-m-Y H:i', $timeToAdd);
echo 'Current Time: ' . $date . '<br/>Time + 8 Hours: ' . $newDate;
Run Code Online (Sandbox Code Playgroud)
哪个产生:
当前时间:17-06-2012 08:53时间+8小时:17-06-2012 16:53
这不会(月和日切换):
$date = date('m-d-Y H:i');
$timeToAdd = strtotime(date("m-d-Y H:i", strtotime($date)) . " + 8 hour");
$newDate = date('m-d-Y H:i', $timeToAdd);
echo 'Current Time: ' . $date . '<br/>Time + 8 Hours: ' . $newDate;
Run Code Online (Sandbox Code Playgroud)
产生:
当前时间:06-17-2012 08:56时间+8小时:12-31-1969 16:00
1969年
?!
请参阅文档中strtotime()
的"注释"部分:
注意:
通过查看各个组件之间的分隔符来消除
m/d/y
或d-m-y
格式中的日期:如果分隔符是斜杠(/
),则m/d/y
假设是美国人; 而如果分隔符是破折号(-
)或点(.
),则d-m-y
假定为欧洲格式.为避免潜在的歧义,最好使用ISO 8601(
YYYY-MM-DD
)日期或DateTime::createFromFormat()
尽可能使用.
你使用a -
作为分隔符,所以它是假设的d-m-y
.
归档时间: |
|
查看次数: |
355 次 |
最近记录: |