代理代码从XML读取DATETIME(“2016-05-08T12:33:11.991-05:00”),然后创建DateTime对象。然后我的代码读取DateTime。我想在XML文件中获得TIME,但没有TZ(“2016-05-08 12:33:11.991000”)。我怎么做到的?
(请注意,我无法访问用于从XML文件创建DateTime对象的代码.DateTime.Kind说LOCAL。)
psuedocode
Input-XML "2016-05-08T12:33:11.991-05:00". //Creates DateTime object called DtXML.
.....
I do not have access to this code.
.....
DtXML.ToString("yyyy-MM-dd HH:mm:ss.ffffff"); //This gives 2016-05-08 10:33:11.991000
DtXML.Kind;// This is LOCAL.
I want to get "2016-05-08 12:33:11.991000".
Is this possible?
答案 0 :(得分:1)
您可以使用DateTimeOffset
并执行此操作。
string s = "2016-05-08T12:33:11.991-05:00";
var dtOffset =DateTimeOffset.Parse(s, null);
DateTime dt = dtOffset.DateTime; // 08.05.2016 12:33:11
Console.WriteLine(dtOffset.DateTime.ToString("yyyy-MM-dd HH:mm:ss.ffffff")); // prints - 2016-05-08 12:33:11.991000
选中此code
答案 1 :(得分:0)
你试过这个吗?
var expectedDT = DateTime.SpecifyKind(DtXML.ToUniversalTime(), DateTimeKind.Local);