C# 为什么是;YYYY-MM-DD HH';:';MM';:';SS";日期时间格式显示不正确?

C# 为什么是;YYYY-MM-DD HH';:';MM';:';SS";日期时间格式显示不正确?,c#,datetime,timezone,datetime-format,C#,Datetime,Timezone,Datetime Format,上述指定的格式显示以下不正确的日期格式: YYYY-11-DD 21:11:SS 为什么一年、一天和一秒都不能正确地显示出来?请提供我如何解决上述问题的建议。 因为它的小写字母y表示年份,而不是大写字母y Day的情况也是如此,它的小写字母d不是大写字母d 分钟的小写字母m不是大写字母m,大写字母m是 一个月来 在几秒钟内,它是小写的s,而不是大写的s 同时删除格式中的单引号,因为您不想转义字符串文字 见: 因此,您的格式应为: DateTime timeUtcWhenCommentPost

上述指定的格式显示以下不正确的日期格式:

YYYY-11-DD 21:11:SS

为什么一年、一天和一秒都不能正确地显示出来?请提供我如何解决上述问题的建议。

  • 因为它的小写字母
    y
    表示年份,而不是大写字母
    y
  • Day的情况也是如此,它的小写字母
    d
    不是大写字母
    d
  • 分钟的小写字母
    m
    不是大写字母
    m
    ,大写字母
    m
    是 一个月来
  • 在几秒钟内,它是小写的
    s
    ,而不是大写的
    s
  • 同时删除格式中的单引号,因为您不想转义字符串文字
见:

因此,您的格式应为:

 DateTime timeUtcWhenCommentPostingOccurred = getDateAndTimeOfCommentPostingInUtc();
 DateTime estTime = TimeZoneInfo.ConvertTimeFromUtc(timeUtcWhenCommentPostingOccurred, estZone);


 estTime.ToString("YYYY-MM-DD HH':'MM':'SS");
你对护理很敏感
YYYY
DD
SS
是不可识别的
DateTime
格式字符串,因此它们被视为文字字符

使用

相反

请注意
MM
(月)和
MM
(分钟)之间的区别。

C#区分大小写,大小写在日期时间格式字符串中具有含义

yyy
是年,
MM
是月,
dd
是日,
MM
是分。大写字母
HH
表示24小时时钟。这将给出预期的输出:

estTime.ToString("yyyy-MM-dd HH:mm:ss");
试试这个:

string output = estTime.ToString("yyyy-MM-dd HH:mm:ss");
C#区分大小写,格式字符串也区分大小写


另外,请检查此选项是否有用。

您的案例有误:

estTime.ToString("yyyy-MM-dd HH:mm:ss");
estTime.ToString("yyyy-MM-dd HH':'mm':'ss");
有关完整参考,请查看MSDN文章。尝试:

estTime.ToString("yyyy-MM-dd HH':'mm':'ss");
estTime.ToString("yyyy-MM-dd HH':'mm':'ss");