我个人试图避免直接使用该time()值,原因是在尝试添加或减去天/周/等时.闰年等.出于所有实际目的,strtotime()始终可靠:
echo date('H/i/s', strtotime('-10 seconds', time())); // time() - 10 seconds
Run Code Online (Sandbox Code Playgroud)
**编辑**
为什么time() - 10是不是很好?
<?php
// this is my timezone, but it applies to any DST zones....
date_default_timezone_set('America/Montreal');
$time = strtotime('2010-11-07 02:00:05');
var_dump(date(DATE_RFC822, $time - 10));
var_dump(date(DATE_RFC822, strtotime('-10 seconds', $time)));
Run Code Online (Sandbox Code Playgroud)
这个的输出是
string(29) "Sun, 07 Nov 10 01:59:55 -0500"
string(29) "Sun, 07 Nov 10 01:59:55 -0400"
Run Code Online (Sandbox Code Playgroud)
请注意第二个示例中UTC的变化情况如何?如果它不完全正确并且应该Sun, 07 Nov 10 02:59:55 -0500 (看这里将其重置回正确的UTC)减去10 time()甚至是最差的!它会将时间戳恢复1小时.这可能会导致潜在的数据错误等.
同样的事情适用于添加和减去日期和月份; 直接操作time()根本不是一个好主意,并且strtotime()总是会返回给定时间操作的正确时间戳.期.
| 归档时间: |
|
| 查看次数: |
452 次 |
| 最近记录: |