我正在使用Amazon API。我需要将本地时间(EDT)转换为符合亚马逊以下文档的DateTime:
You can specify the FulfillmentDate with or without time zone information: 2006-12-11T09:50:00 - local time zome applies 2006-12-11T09:50:00+02:00 - GMT time zone applies For locales affected by Daylight Saving Time, adjust the information, if necessary. Daylight Saving Time is not automatically taken into consideration.
我认为我需要做this SO thread中显示的内容,但显然是错误的,因为当我使用该方法上传日期时,亚马逊会在前一天显示它。我可以使用this online converter tool确认这一点。
例如:
我当地的时间是“7/25/2012 00:00:00”(美国东部时间)。
使用上面的SO方法,并进行格式化,现在就是 “2012-07-25T01:00:00-04:00”
但它转换为24日,特别是“2012年7月24日星期二 21点00" 分00秒。
显然我在这里做错了 - 如果有人可以启发我,我会很感激。
谢谢!
答案 0 :(得分:1)
我建议使用:
String xmlDateString = XmlConvert.ToString(DateTime.UtcNow,XmlDateTimeSerializationMode.Local);
答案 1 :(得分:1)
显然亚马逊会将您当地的时间信息转换回UTC时间(这是基于您在4小时后回来的输入:2012年7月24日星期二21:00:00,因此正确)。
您期望得到哪些结果?
答案 2 :(得分:0)
我想我可以介绍Jon Skeet写的“joda time”项目。您可以参考链接pros and cons of joda time