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

C# 不同区域性信息之间的日期时间转换

C# 不同区域性信息之间的日期时间转换,c#,date,datetime,C#,Date,Datetime,我想在国家之间创建不同的转换,我正在使用c#。 我正在尝试将一个日期时间转换为另一个日期时间,格式为dd mmm yyyy CultureInfo ci = CultureInfo.CreateSpecificCulture(language.US); //en-us DateTime dateStart= DateTime.ParseExact(myDate.ToString(),"dd-MMM-yyyy h:mm:ss tt", ci); //mydate: 12/01/2013 17:00

我想在国家之间创建不同的转换,我正在使用c#。 我正在尝试将一个日期时间转换为另一个日期时间,格式为dd mmm yyyy

CultureInfo ci = CultureInfo.CreateSpecificCulture(language.US); //en-us
DateTime dateStart= DateTime.ParseExact(myDate.ToString(),"dd-MMM-yyyy h:mm:ss tt", ci); //mydate: 12/01/2013 17:00:00 a.m.
它给出了一个错误:字符串未被识别为有效的日期时间。
请注意。

您正在使用给定的日期格式解析myDate的字符串值,请使用“myDate”(“dd-MMM-yyy h:mm:ss-tt”)将日期转换为字符串格式。

1。您的字符串应该包含
AM
PM
,而不是
a.m
p.m

2.您当前的
日期字符串->2013年1月12日17:00:00 a.m.
是错误的,因为它包含17小时的
a.m
。它应该是->
2013年1月12日17:00 PM

3.您可以使用
System.Globalization.CultureInfo.InvariantCulture
作为
CutureInfo
来处理不同的
文化

4.如果您的月份是3个字母的单词,如一月、二月、十二月等,您可以使用
MMM
代替
MM
作为月份自定义格式。 像这样->
“dd/MMM/yyyy HH:mm:ss tt”

解决方案1: 试试这个:如果你的月份是两位数

String myDate = "11/01/2013 17:00:00 PM";
DateTime dateStart = DateTime.ParseExact(myDate, "dd/MM/yyyy HH:mm:ss tt", System.Globalization.CultureInfo.InvariantCulture);
解决方案2: 试试这个:如果你的月份是三个字母的单词

String myDate = "11/DEC/2013 17:00:00 PM";
DateTime dateStart = DateTime.ParseExact(myDate, "dd/MMM/yyyy HH:mm:ss tt", System.Globalization.CultureInfo.InvariantCulture);

myDate.ToString()的值是多少?该值在第二行注释//mydate:12/01/2013 17:00:00 a.m.您只需在两种情况下提供格式1。将日期转换为字符串2时。将字符串转换为日期时间时。这两种情况都不是您想要做的。因为您正在将mydate转换为dateStart,并且两者都是DateTime类型…看起来格式不正确。它给出:字符串未被识别为有效的DateTime。有一个从索引3开始的未知单词。不支持dd mmm yyyy格式?(如2013年12月1日)?@user2483797:是,它支持我编辑我的答案吗?我问,因为它给出了“dd-MMM-yyy-HH:mm:ss-tt”格式的错误。目的是在2013年12月1日获得答案。@user2483797:现在,如果你的月份是12月,请用
解决方案2
部分检查我编辑的答案。ulgy部分是,对于像法语这样的当前文化,结果将是这个月的法语翻译。嗯,不是英语。