繁体   English   中英

C#日期格式问题

[英]C# Date formatting issue

我有以下内容:

string QDI_DATE_FORMAT = "yyyy-MM-ddTHH:mm:00.0000000K";            

string from = "2016-06-20T16:20:00.0000000-04:00";
string to =   "2016-06-21T16:21:00.0000000-04:00";

DateTime fromDate = DateTime.ParseExact(from, QDI_DATE_FORMAT, CultureInfo.InvariantCulture, DateTimeStyles.None).Date;
DateTime toDate =   DateTime.ParseExact(to, QDI_DATE_FORMAT, CultureInfo.InvariantCulture, DateTimeStyles.None).Date;

Console.WriteLine(fromDate);
Console.WriteLine(toDate);

这会打印出不带小时和分钟的日期。 我如何使其工作并显示时间?

通过使用.Date您仅从结果DateTime对象中选择日期部分。 因此,将应用时间的默认值.Date您将获得预期的结果;

DateTime fromDate = DateTime.ParseExact(from, QDI_DATE_FORMAT, CultureInfo.InvariantCulture, DateTimeStyles.None);
DateTime toDate =   DateTime.ParseExact(to, QDI_DATE_FORMAT, CultureInfo.InvariantCulture, DateTimeStyles.None);

这个例子将告诉你区别

您正在调用.date,它仅选择日期部分:

string from = "2016-06-20T16:20:00.0000000-04:00";
DateTime fromDateTime = DateTime.ParseExact(from, QDI_DATE_FORMAT, CultureInfo.InvariantCulture, DateTimeStyles.None);
DateTime toDateTime =   DateTime.ParseExact(to, QDI_DATE_FORMAT, CultureInfo.InvariantCulture, DateTimeStyles.None);

将产生:

> 6/20/2016 8:20:00 PM 
> 6/21/2016 8:21:00 PM

注意最后缺少.Date

您所要做的只是从代码中删除结尾的“ .Date”。

string QDI_DATE_FORMAT = "yyyy-MM-ddTHH:mm:00.0000000K";

string from = "2016-06-20T16:20:00.0000000-04:00";
string to = "2016-06-21T16:21:00.0000000-04:00";

DateTime fromDate = DateTime.ParseExact(from, QDI_DATE_FORMAT, CultureInfo.InvariantCulture, DateTimeStyles.None);
DateTime toDate = DateTime.ParseExact(to, QDI_DATE_FORMAT, CultureInfo.InvariantCulture, DateTimeStyles.None);

Console.WriteLine(fromDate);
Console.WriteLine(toDate);

Console.ReadLine();

暂无
暂无

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

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