读取字符串值“;yyyyMMddHHmmss”;在DateTime类型中
本文关键字:DateTime 类型 yyyyMMddHHmmss 字符串 读取 | 更新日期: 2023-09-27 18:25:22
这是我的案例。
我有一个方法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");
}
现在我必须将这个test1作为参数传递给ISO8601DateTime_Local()
像
DateTime dt = ISO8601DateTime_Local(test1());
请提出建议。
您可以将DateTime.ParseExact方法与您的格式字符串一起使用:
DateTime dt = ISO8601DateTime_Local(DateTime.ParseExact(test1(), "yyyyMMddHHmmssK", CultureInfo.InvariantCulture, DateTimeStyles.None));
(也许你想使用DateTime.TryParseExact来提高稳定性)
我不确定DateTimeStyles
参数,所以请检查msdn是否有比DateTimeStyles.None
更合适的值(尤其是DateTimeStyles.AdjustToUniversal
可能很有趣)。