加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 使用DateTime格式化问题日期

发布时间:2020-12-15 23:57:11 所属栏目:百科 来源:网络整理
导读:我想用这种格式显示日期: MM / dd / yyyy HH:mm:ss tt 例如 : 01/04/2011 03:34:03 PM 但我有以下代码的问题 class Program{ static void Main(string[] args) { DateTime dt = new DateTime(DateTime.Today.Year,DateTime.Today.Month,DateTime.Today.D
我想用这种格式显示日期:

> MM / dd / yyyy HH:mm:ss tt

例如 :

> 01/04/2011 03:34:03 PM

但我有以下代码的问题

class Program
{
    static void Main(string[] args)
    {
        DateTime dt = new DateTime(DateTime.Today.Year,DateTime.Today.Month,DateTime.Today.Day,0);
        string displayedDate = dt.ToString("MM/dd/yyyy hh:mm:ss tt",CultureInfo.InvariantCulture);
        Console.WriteLine(displayedDate);
        Console.Read();
    }
}

显示:

01/04/2011 12:00:00 AM

代替

01/04/2011 00:00:00 AM

谁知道为什么?

谢谢 !

解决方法

因为您指定了12小时时钟格式而不是24小时格式.

DateTime.ToString方法的documentation提供了格式说明符的完整表及其含义.小时的选择如下:

"h"     The hour,using a 12-hour clock from 1 to 12.
"hh"    The hour,using a 12-hour clock from 01 to 12.
"H"     The hour,using a 24-hour clock from 0 to 23.
"HH"    The hour,using a 24-hour clock from 00 to 23.

因此,您需要使用HH而不是hh自定义格式说明符.改变这一行:

string displayedDate = dt.ToString("MM/dd/yyyy hh:mm:ss tt",CultureInfo.InvariantCulture);

对此:

string displayedDate = dt.ToString("MM/dd/yyyy HH:mm:ss tt",CultureInfo.InvariantCulture);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读