2012-09-20 119 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不客氣! :) –