繁体   English   中英

日期时间到字符串:取决于转换的日期时间的不同行为

[英]Datetime to string: differents behavior depending on the converted datetime

我使用以下C#代码将日期时间转换为字符串:

MyDatetime.ToString("dd/MM/yyyy HH:mm")

它有效,但并非每次都有效。 我什么意思

例如,如果输入的datetime是2016-10-19 17:27:41.7272016-10-19 17:27:41.727得到预期的字符串2016-10-19 17:27:41.727 19/10/2016 17:27 如果日期时间中的日期(和/或月份)只有一位,那我会觉得很奇怪。

如果输入的是2016-01-07 14:58:13.560 ,我收到1/7/2016 ,如果是2016-10-26 17:14:16.000我得到10/6/2016

你知道为什么吗? 如何在几天和几个月内始终只用一个数字设置前导零? 而且,为什么我在撰写示例的日期中没有看到时间部分?

UPDATE

这是我的意见

SQL Server数据库(这是SQL Server Management Studio)中的某些datetime字段。

当您输入日期“ XXXX-XX-XX”时,则假定您使用的格式为“ YYYY-MM-DD”。

只需查看您的输入输出即可看到模式。 (与我一起工作的)很多编程人员都使用这种格式,因为它是自动过滤的,没有任何标点符号(20170102总是在20161231之后,依此类推)。

您的DateTime很可能已经具有无效值(日期和月份混合)

new DateTime(2016, 01,  07,14,58,13,56).ToString("dd/MM/yyyy HH:mm")

返回07-01-2016 14:58

看看如何从数据库中读取此DateTime值。 我相信问题就在那里。 (例如SqlDataReader.GetDateTime

DateTime方法与计算机语言结合使用。 如果您的计算机(或服务器)是英语(反之亦然),并且您传递的是美国非标准日期格式,则将遇到类似这样的问题。 如果使用的是Web应用程序,请在web.config中配置正确的语言

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM