2011-06-09 43 views
15

我正在調用一個IronPython腳本並將它傳遞給一個包含DateTime結構的.NET對象。如何從.NET DateTime轉換爲IronPython日期時間?

我想使用IronPython的JSON支持將對象序列化爲JSON。

一切都很好,直到我遇到.NET DateTime

我如何從.NET DateTime轉換爲IronPython的datetime

+0

最後一條評論是否有幫助?http://msdn.microsoft.com/en-us/library/system.datetime%28v=vs .90%29.aspx – keyboardP 2011-06-09 17:30:34

+1

這有點幫助可以手動將字段拖出DateTime並構造一個新的日期時間,但我希望有一個簡單的方法。這似乎有點普遍。 – ScArcher2 2011-06-09 17:47:25

回答

17

預見到人們可能想在這些之間進行轉換,我們實際上很容易:

import datetime 
from System import DateTime 
datetime.datetime(DateTime.Now) 
+0

+1令人驚訝的是,你是對的,我只是在一個錯誤的控制檯中嘗試過。 – 2011-06-10 05:21:34

+0

這正是我所期待的! – ScArcher2 2011-06-10 13:17:41

4

正如我們所知,datetime類型具有以下結構:datetime(year, month, day[, hour[, minute[, second[, microsecond[, tzinfo]]]]])。所以你需要的是找到一種方法來實現所需的選項。

strptime尚未實現(否則你不得不簡單地調用datetime.datetime.strptime(DateTime.Now.ToString(format), format).strftime(format)) IronPython中的能力,相反,你可以使用下面的代碼(不是很優化的一個)現在:

from System import DateTime 

import datetime 

d = DateTime.Now 

print datetime.date(d.Year, d.Month, d.Day) 
print datetime.datetime(d.Year, d.Month, d.Day, d.Hour, d.Minute, d.Second) 
+0

這是我最終使用的解決方案。 – ScArcher2 2011-06-09 21:13:52

+0

我也是。想想我們現在都在爲下一個鐵py版本發佈strump實現 – 2011-06-09 21:16:09

相關問題