我正在尝试将String格式的日期转换并存储到datetime变量中。
String fromdate= "02-JUN-2014";
DateTime dFromDate = Convert.ToDateTime(fromdate);
此dfromDate用于另一个期望日期为02-JUN-2014格式的函数。但由于dfromDate将日期存储为06/02/2014,因此存在格式异常。
答案 0 :(得分:3)
您可以使用ParseExact()
String fromdate="02-JUN-2014";
DateTime dFromDate = DateTime.ParseExact(fromdate, "dd-MMM-yyyy",CultureInfo.InvariantCulture)
答案 1 :(得分:1)
用引号括起日期:
var fromdate = "02-JUN-2014";
var dFromDate = Convert.ToDateTime(fromdate);
答案 2 :(得分:0)
我不确定整个上下文,但您可以随时使用以下内容创建新日期:
DateTime thisDate1 = new DateTime(2011, 6, 10);
Console.WriteLine("Today is " + thisDate1.ToString("MMMM dd, yyyy") + ".");
// The example displays the following output:
// Today is June 10, 2011.
答案 3 :(得分:0)
String fromdate= "02-JUN-2014";
DateTime dFromDate = DateTime.ParseExact(fromdate,"dd-MMM-yyyy",
CultureInfo.InvariantCulture);
使用ParseExact
方法。
答案 4 :(得分:0)
您想使用DateTime.ParseExact
即
DateTime dFromDate = DateTime.ParseExact(fromdate, "dd-MMM-yyyy", CultureInfo.InvariantCulture);
如果您不是美国,您可能需要为您的语言特定文化(CultureInfo.InvariantCulture是美国的一种特殊形式)。
答案 5 :(得分:0)
Convert.ToDateTime
使用CurrentCulture
的标准日期和时间格式,看起来dd-MMM-yyyy
不是其中之一。
您可以ParseExact
method使用基于英语的文化,例如InvariantCulture
。
String fromdate = "02-JUN-2014";
DateTime dFromDate = DateTime.ParseExact(fromdate, "dd-MMM-yyyy",
CultureInfo.InvariantCulture);
答案 6 :(得分:0)
使用DateTime.ParseExact
可能会有效,如果您确切知道格式字符串,则它是最佳选择,但您也可以为呼叫设置当前CultureInfo
:
String fromdate= "02-JUN-2014";
DateTime dFromDate = Convert.ToDateTime(fromdate, CultureInfo.CurrentCulture);
或者:
String fromdate= "02-JUN-2014";
DateTime dFromDate = Convert.ToDateTime(fromdate, new CultureInfo("es-ES"));
答案 7 :(得分:-1)
你的第一个问题可能是,你需要分配一个这样的字符串:
String fromdate = "02-JUN-2014";