如何使用此格式在PHP中获取日期?
1976-03-06T23:59:59.999Z
我希望当前日期为该格式的10个小时。我试过这个:
date("Y-m-d",strtotime("+10 hours"));
但我没有看到如何获得这种格式。
谢谢!
答案 0 :(得分:2)
要准确了解您所寻找的内容,您需要执行以下操作:
设置PHP时区以确保无论您的服务器或PHP时区如何,时间输出都将在正确的区域中(在您的情况下为“Z”)。
date_default_timezone_set('UTC');
然后计算你需要的时间(当前时间加10小时);
$timestamp = time() + (10 * 60 * 60); // now + 10 hours * 60 minutes * 60 seconds
然后转换为格式化日期。
如果您不关心秒和毫秒,那么使用PHP的内置函数来处理ISO 8601日期。
echo date('c', $timestamp); // Will output 1976-03-06T23:59Z
否则你需要确定当前的微秒并手动组装日期字符串。
// Get current timestamp and milliseconds
list($microsec, $timestamp) = explode(" ", microtime());
// reduce microtime to 3 dp
$microsec = substr($microsec,0,3);
// Add 10 hours (36,000 seconds) to the timestamp
$timestamp = (int)$timestamp + (10 * 60 * 60);
// Construct and echo the date string
echo date('Y-m-d', $timestamp) . 'T' . date('H:i:s', $timestamp) . '.' . $microsec . 'Z';
答案 1 :(得分:1)
只需将10 * 60 * 60
秒添加到当前time
。
date('c', time() + 10 * 60 * 60);
答案 2 :(得分:1)
这与你正在寻找的非常接近。
date('c')
// prints 2013-01-03T18:39:07-05:00
正如其他人所说,检查文档以制作更加个性化的内容。