這裏後的那種時間格式化我:在C中使用strftime,我怎樣才能像Unix時間戳那樣格式化時間?
2009-10-08 04:31:33.918700000 -0500
我目前使用這樣的:
strftime(buf, sizeof(buf), "%Y-%m-%d %H:%M:%S %Z", ts);
其中給出:
2009-10-11 13:42:57 CDT
這是接近,但不精確。我似乎無法找到最後顯示-0500
的任何內容。另外我得到了秒作爲一個整數。
我該如何解決這兩個問題?
'%z'仍然是非標準的=) – gnud 2009-10-11 20:18:40
謝謝,這是迄今爲止我得到的最接近的。 '%% 06u'現在只是向我扔垃圾數據,但其餘的效果很好。 P.S是的,我知道,%z是非標準的,但我會接受它:) – 2009-10-11 20:40:26
@aditya:這是奇怪...上面的代碼應該工作。確保提供第二個snprintf()調用時使用正確的無符號微秒值,以用於%06u格式。您可以嘗試在strftime()調用後打印結果,除了時間段之後的%06u序列,您應該會看到最終的輸出。 – unwind 2009-10-11 20:55:13