Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#日期格式问题_C#_Date - Fatal编程技术网

C#日期格式问题

C#日期格式问题,c#,date,C#,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, Cultur

我有以下资料:

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);

它打印出的日期没有小时和分钟。如何使其工作并显示时间?

您正在呼叫。仅选择日期部分的日期:

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 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
只能从结果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
向您显示差异,您仅从结果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 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();

你要做的只是从代码中删除你的结尾“.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();