2011-06-09 86 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

相关问题