首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DateTime格式转换

DateTime格式转换
EN

Stack Overflow用户
提问于 2013-02-22 22:53:19
回答 2查看 1.1K关注 0票数 0

在我的c#程序中,用户可以从winforms日期时间选择器中选择日期。这被命名为dtpOutbox

下面是我的代码:

代码语言:javascript
复制
DateTime selectedDate = dtpOutbox.Value.Date;
TimeSpan ts = new TimeSpan(23,59,59);
DateTime endOfSelectedDay = selectedDate + ts;

Console.WriteLine(selectedDate.ToString("yyyy-MM-dd hh:mm:ss"));
Console.WriteLine(endOfSelectedDay.ToString("yyyy-MM-dd hh:mm:ss"));

现在,如果今天的日期是2月22日,我的理解是这应该输出(期望的输出):

代码语言:javascript
复制
2013-02-22 00:00:00
2013-02-22 23:59:59

但事实并非如此。我的输出是:

代码语言:javascript
复制
2013-02-22 12:00:00
2013-02-22 11:59:59

我非常确定这是一个格式问题,因为当我显示没有格式字符串(selectedDate.ToString())的DateTime值时,它会正确地显示22/02/2013 00:00:00。但是,我需要22-02-2013 00:00:00格式的日期。

你知道为什么C#决定我的第一次约会是中午,第二次约会是11:59:59吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-02-22 22:54:38

hh是12小时的时钟输出。

HH是24小时时钟输出。

您正在使用小写变体,但没有输出AM/PM值。这可能是造成混乱的原因。

票数 8
EN

Stack Overflow用户

发布于 2013-02-22 22:54:39

这就是您要查找的内容:

代码语言:javascript
复制
Console.WriteLine(selectedDate.ToString("yyyy-MM-dd HH:mm:ss"));

对于24小时格式,请使用HH而不是hh

您可能想看看Custom Date and Time Formats documentation

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15026859

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档