2013-11-25 270 views
2
DateTime timeUtcWhenCommentPostingOccurred = getDateAndTimeOfCommentPostingInUtc(); 
DateTime estTime = TimeZoneInfo.ConvertTimeFromUtc(timeUtcWhenCommentPostingOccurred, estZone); 


estTime.ToString("YYYY-MM-DD HH':'MM':'SS"); 

上述指定的格式显示以下正确的日期格式:为什么“YYYY-MM-DD HH”:'MM':'SS'日期时间格式显示不正确?

YYYY-11-DD 21:11:SS

为什么一年,一天,第二不能正常显示?请就如何解决上述问题提供建议。

回答

10
  • 由于其较低的情况下y为一年,不上的情况下Y
  • 同样是日,它的下壳体d不大写D
  • 随着分钟其小写m不大写M,大写M是 为一个月的情况下,
  • 对于秒它小写s,不大写S
  • 还要去掉单引号中的格式,因为你不想逃避字符串文字

请参阅:Custom Date and Time Format Strings

所以,你的格式应该是:

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

Format strings是护理敏感。 YYYY,DDSS不是DateTime的识别格式字符串,因此它们被视为文字字符。

使用

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

代替。

请注意区分MM(月)和mm(分钟)。

1

C#区分大小写,这种情况在日期时间格式字符串中有意义。

yyyy是当年,MM当月,dd当天和mm分钟。大写HH表示24小时制时钟。这给预期输出:

string output = estTime.ToString("yyyy-MM-dd HH:mm:ss"); 

Custom Date and Time Format Strings

2

试试这个:

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

C#是区分大小写的格式字符串是区分大小写的太

还要检查这个有用MSDN link

1

你得到的情况下错误:

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

对于全参考检查this MSDN文章。试试:

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