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