日期格式为“1976-03-06T23:59:59.999Z”

时间:2013-01-03 13:18:32

标签: php date

如何使用此格式在PHP中获取日期?

1976-03-06T23:59:59.999Z

我希望当前日期为该格式的10个小时。我试过这个:

date("Y-m-d",strtotime("+10 hours"));

但我没有看到如何获得这种格式。

谢谢!

3 个答案:

答案 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

正如其他人所说,检查文档以制作更加个性化的内容。