编程语言
首页 > 编程语言> > c# – 使用NodaTime解析输入并输出不同的dateTime格式

c# – 使用NodaTime解析输入并输出不同的dateTime格式

作者:互联网

我目前正在使用NodaTime来解析日期和输出日期

public static string nodaTimeTest6(string input)
{
    var defaultValue = new OffsetDateTime(new LocalDateTime(2000, 1, 1, 0, 0), Offset.Zero);
    var pattern = OffsetDateTimePattern.Create("yyyy-MM-dd'T'HH:mm:sso<m>", CultureInfo.InvariantCulture, defaultValue);
    var result = pattern.Parse(input);

    return result.Value.Month + "/" + result.Value.Day + "/" + result.Value.Year + " " + result.Value.ClockHourOfHalfDay;
}

例如,输入是:2014-03-11T02:00:00-07:00

如果我的return语句如下:return result.Value.ToString(),那么输出将如下所示:2014-03-11T02:00:00-07

我理解使用NodaTime属性(这是一个救生员),但是,我对这样的输出感兴趣:

yyyy-MM-dd HH:mm:ss

yyyyMMdd HH:mm:ss

dd / MM / yyyy hh:mm

所以我试着把我的return语句更改为:

return result.Value.Month“/”result.Value.Day“/”result.Value.Year“”result.Value.Hour“:”result.Value.Minute;

该格式的最终​​输出是:3/11/2014 2:0

无论如何要制作输出,所以它是一个固定的格式,如03/11/2014 02:00

我知道如果我输入01作为我的月份,输出将是2014年1月11日而不是01/11/2014

解决方法:

您可以将格式发送到ToString方法:

return result.Value.ToString("dd/MM/yyyy HH:mm", CultureInfo.InvariantCulture);

标签:c,datetime,nodatime
来源: https://codeday.me/bug/20190612/1226027.html