1

我在 PHP 中有以下代码,我正在尝试在 Ruby 中编写相同的代码。

$date = new DateTime(null, new DateTimeZone("UTC"));  
$created = $date->format("Y-m-d\TH:i:s\Z"); //YYYY-MM-DDTHH:mm:ss.000Z;

其中 T 代表时区缩写,Z 代表 PHP 中的时区偏移(参考: http: //php.net/manual/en/function.date.php)。
由此生成的样本日期是2012-09-20T15:46:22.571Z

我想出的 ruby​​ 代码是,Time.now.utc.strftime("%Y-%m-%d%Z%H:%M:%S")但它给出的输出2012-09-20UTC00:24:57接近于我想要达到的输出,但不完全相同。谁能指出我正确的方向,以便最终获得带有 .xxxZ 的部分?

4

1 回答 1

1

更好地查看Time#strftime 各种 ISO 8601 格式部分,您可能会想出:

Time.now.strftime("%F%Z%T.%LZ")
  1. %F对于 ISO 8601 日期格式 (%Y-%m-%d)
  2. %Z对于时区缩写名称
  3. %T.%L对于带小数部分的当地时间,句号为小数点(扩展)
  4. Z对于最终"Z"的时间字符串。
于 2012-09-20T00:56:49.553 回答