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

the*_*age 4 c# datetime nodatime

我目前正在使用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;
}
Run Code Online (Sandbox Code Playgroud)

例如,输入是这样的: 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作为我的月份,输出将1/11/2014代替01/11/2014

ANe*_*ves 5

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

return result.Value.ToString("dd/MM/yyyy HH:mm", CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)