读取字符串值“;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());

请提出建议。

读取字符串值“;yyyyMMddHHmmss”;在DateTime类型中

您可以将DateTime.ParseExact方法与您的格式字符串一起使用:

DateTime dt = ISO8601DateTime_Local(DateTime.ParseExact(test1(), "yyyyMMddHHmmssK", CultureInfo.InvariantCulture, DateTimeStyles.None));

(也许你想使用DateTime.TryParseExact来提高稳定性)

我不确定DateTimeStyles参数,所以请检查msdn是否有比DateTimeStyles.None更合适的值(尤其是DateTimeStyles.AdjustToUniversal可能很有趣)。