这是我的情况。
我有一个方法ISO8601DateTime_Local(DateTime dto)
我无法更改其参数数据类型,因为它会影响整个解决方案。
现在我需要更改2014-03-11T14:10:46+11:00
的输入日期
到20140311141046+1100
我使用以下方法完成了它:
public string test1() {
var str = "2014-03-11T14:10:46+11:00";
var dto = DateTimeOffset.Parse(str);
return dto.ToString("yyyyMMddHHmmssK");
}
现在我必须在ISO8601DateTime_Local()
中将此test1作为参数传递
像
DateTime dt = ISO8601DateTime_Local(test1());
请建议。
答案 0 :(得分:0)
您可以将DateTime.ParseExact方法与格式字符串一起使用:
DateTime dt = ISO8601DateTime_Local(DateTime.ParseExact(test1(), "yyyyMMddHHmmssK", CultureInfo.InvariantCulture, DateTimeStyles.None));
(也许你想使用DateTime.TryParseExact来提高稳定性)
我不确定DateTimeStyles
参数,因此请检查msdn是否有比DateTimeStyles.None
更合适的值(特别是DateTimeStyles.AdjustToUniversal
可能感兴趣)。