Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/299.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#_Datetime_Format_Customization - Fatal编程技术网

C# 转换自定义格式的日期

C# 转换自定义格式的日期,c#,datetime,format,customization,C#,Datetime,Format,Customization,我想知道是否有可能将自定义格式的日期时间转换为更标准的格式 我有两种类型的字符串日期格式 string Date1 = @"06.12.2015 18.00"; string Date2 = @"1944-09-29"; 我想把两者都转换成这种格式: yyyy-MM-ddThh:mm:ssZ 我该怎么做 我试过了 DateTime testdate = DateTime.ParseExact(Date1, "yy

我想知道是否有可能将自定义格式的日期时间转换为更标准的格式

我有两种类型的字符串日期格式

string Date1 = @"06.12.2015 18.00";
string Date2 = @"1944-09-29";
我想把两者都转换成这种格式:

yyyy-MM-ddThh:mm:ssZ
我该怎么做

我试过了

DateTime testdate = DateTime.ParseExact(Date1, 
                                       "yyyy-MM-ddThh:mm:ssZ", 
                                        CultureInfo.InvariantCulture);
但是没有运气

编辑:该问题被标记为可能与StackOverflow中的其他条目重复。正如瓦迪姆·亚罗维科夫(Vadim Yarovikov)在下面的评论中所说,这里的区别是一个由两部分组成的问题。 “1)将值解析为日期,2)将日期转换为所需格式。”

您可以在一个
DateTime中提供两种格式。ParseExact
调用:

string[] tests = new string[] {
  @"06.12.2015 18.00", 
  @"1944-09-29" 
};

var result = tests
  .Select(item => DateTime.ParseExact(
     item,
     new string[] { "d.M.yyyy H.m", "yyyy-M-d" },
     CultureInfo.InvariantCulture, 
     DateTimeStyles.AssumeLocal))
  .Select(date => date.ToString("yyyy-MM-ddTHH:mm:ssZ", CultureInfo.InvariantCulture));

Console.WriteLine(string.Join(Environment.NewLine, result));
结果:

2015-12-06T18:00:00Z
1944-09-29T12:00:00Z

旁注:我认为实际的目标格式应该是
“yyyy-MM-ddTHH:MM:ssZ”
(请注意
HH
,而不是
HH
),否则就无法区分
6:00AM
6:00PM(18:00)

可能重复的问题,实际上我不会说这是同一个问题,在该示例中,问题在于如何格式化Datetime.now。thsi是关于将字符串转换和格式化为另一种类型的日期时间格式?我错了吗?@vadimyrovikovo所以你的问题包括两个不同的部分:1)将值解析为日期,2)将日期转换为所需的格式。是的,如果我有点误解,请原谅。谢谢你的澄清。啊,我想我会试试这个,但我希望转换结果的格式是:yyyy-MM-ddThh:MM:ssZ。还是非常感谢你!:D@DemitryBychenko