2010-07-26 30 views
1

我有字符串2010-07-26 18:37:12我想將其轉換爲日期格式,以便我可以將其與其他字符串進行比較並檢查日期(2010-07-26 18:37:12)是否更早或沒有。UNIX的字符串日期轉換?

任何人都可以建議將此字符串轉換爲日期的方式嗎?

+0

什麼編程語言/環境? – bakkal 2010-07-27 00:04:52

+0

最可能是C,因此是UNIX。 – 2010-07-27 00:05:30

+1

如果是這樣的話:http://stackoverflow.com/questions/1002542/how-to-convert-datetime-to-unix-timestamp-in-c – bakkal 2010-07-27 00:07:11

回答

2

的strptime功能是你想要的

man strptime 

對於示例

struct tm stm; 
strptime(string, "%Y-%m-%d %H:%M:%s", &stm); 
0

您展示ISO 8601的符號的美妙之處在於兩個日期之間的字符串比較會告訴你相關訂單。只要你需要比較所有日期是AD(或CE),而不是BC(或BCE),並在相同的時區表示,那麼它很簡單:

2010-07-26 18:37:12 > 2001-10-31 15:36:21 
2010-07-26 18:37:12 < 2010-12-25 00:00:00 

如果您需要處理與其他日期格式,然後strptime()是你的朋友。

我有一個程序(富有想象力地命名爲strptime),可以完成這項工作(查看我的個人資料可以與我聯繫);可能還有其他工具可以這樣做。但是,即使strptime()在時區方面也存在一些問題 - 尤其是命名時區而不是純數字偏移。