Given a DateTime object, how do I get an ISO 8601 date in string format?

后端 未结 18 2585
暖寄归人
暖寄归人 2020-11-22 02:15

Given:

DateTime.UtcNow

How do I get a string which represents the same value in an ISO 8601-compliant format?

Note that ISO 8601 de

18条回答
  •  佛祖请我去吃肉
    2020-11-22 02:41

    Use:

    private void TimeFormats()
    {
        DateTime localTime = DateTime.Now;
        DateTime utcTime = DateTime.UtcNow;
        DateTimeOffset localTimeAndOffset = new DateTimeOffset(localTime, TimeZoneInfo.Local.GetUtcOffset(localTime));
    
        //UTC
        string strUtcTime_o = utcTime.ToString("o");
        string strUtcTime_s = utcTime.ToString("s");
        string strUtcTime_custom = utcTime.ToString("yyyy-MM-ddTHH:mm:ssK");
    
        //Local
        string strLocalTimeAndOffset_o = localTimeAndOffset.ToString("o");
        string strLocalTimeAndOffset_s = localTimeAndOffset.ToString("s");
        string strLocalTimeAndOffset_custom = utcTime.ToString("yyyy-MM-ddTHH:mm:ssK");
    
        //Output
        Response.Write("
    UTC
    "); Response.Write("strUtcTime_o: " + strUtcTime_o + "
    "); Response.Write("strUtcTime_s: " + strUtcTime_s + "
    "); Response.Write("strUtcTime_custom: " + strUtcTime_custom + "
    "); Response.Write("
    Local Time
    "); Response.Write("strLocalTimeAndOffset_o: " + strLocalTimeAndOffset_o + "
    "); Response.Write("strLocalTimeAndOffset_s: " + strLocalTimeAndOffset_s + "
    "); Response.Write("strLocalTimeAndOffset_custom: " + strLocalTimeAndOffset_custom + "
    "); }

    OUTPUT

    UTC
        strUtcTime_o: 2012-09-17T22:02:51.4021600Z
        strUtcTime_s: 2012-09-17T22:02:51
        strUtcTime_custom: 2012-09-17T22:02:51Z
    
    Local Time
        strLocalTimeAndOffset_o: 2012-09-17T15:02:51.4021600-07:00
        strLocalTimeAndOffset_s: 2012-09-17T15:02:51
        strLocalTimeAndOffset_custom: 2012-09-17T22:02:51Z
    

    Sources:

    • Standard Date and Time Format Strings (MSDN)

    • Custom Date and Time Format Strings (MSDN)

提交回复
热议问题