2012-09-20 75 views
1

我在PHP中有以下代码,我试图在Ruby中编写相同的代码。Ruby日期时间与PHP日期时间

$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的部分?

+0

我想出了'Time.now.utc.strftime(“%Y-%m-%dT%H:%M:%S.%LZ”),但不确定这是否正确去做吧。 –

回答

1

采取更好的看看Time#strftime Various ISO 8601 formats section,也许你会想出:

Time.now.strftime("%F%Z%T.%LZ") 
  1. %F为ISO 8601日期格式(%Y-%间%d)
  2. %Z时间区域缩写名称
  3. %T.%L适用于带小数点的当地时间,小数点后的满度(扩展)
  4. Z最后的"Z"在时间字符串。
+0

谢谢waldyr.ar! –

+0

@PratikKhadloya不客气! :) –