如何转换04/09/2013 8:09:10 PM至09/04/2013(MM-dd-yyyy)。我试图转换,但它将09作为日期,04作为月。
请帮忙
[HttpPost]
public string getdailynote(DateTime selectedDate)
//selectedDate gets date as 04/09/2013 8:09:10 PM
{
string x = selectedDate.ToString("MM-dd-yyy", CultureInfo.InvariantCulture);
string daily;
DateTime dt = Convert.ToDateTime(x);
//dt gets value as {09/04/2013 12:00:00 AM} but 09 as date and 04 as month
Dnote.RealDate =dt;
daily = _scheduler.GetDailyNote(Dnote);
return daily;
}
答案 0 :(得分:5)
以09为日期,04为月
是的,因为你已经说过了,所以改变
"MM-dd-yyy"
到
"dd/MM/yyyy h:mm:ss tt"
DateTime.ParseExact("04/09/2013 8:09:10 PM","dd/MM/yyyy h:mm:ss tt", CultureInfo.InvariantCulture);
现在,如果您想将其转换为格式为MM-dd-yyyy
的字符串:
string result = dt.ToString("MM-dd-yyyy", CultureInfo.InvariantCulture);
答案 1 :(得分:2)
使用
DateTime.ParseExact(x , "MM-dd-yyy", CultureInfo.InvariantCulture);
答案 2 :(得分:1)
将从 DateTime
转换为 string
时,您使用实例方法ToString
的重载,您可以在其中指定格式化字符串,没关系。
但是当你转向另一个方向时,你不应该使用Convert.ToDateTime
方法。而是使用DateTime.ParseExact
或DateTime.TryParseExact
,因为有了它们,您可以再次指定所需的格式字符串(以及格式提供程序(文化))。