2

如何将 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;
}
4

3 回答 3

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);
于 2013-09-03T15:16:15.763 回答
2

利用

DateTime.ParseExact(x , "MM-dd-yyy", CultureInfo.InvariantCulture);
于 2013-09-03T15:16:18.963 回答
1

当您转换from DateTime 时, string您可以使用实例方法的重载ToString,您可以在其中指定格式字符串,这很好。

但是当你在另一个方向转换时,你不应该使用Convert.ToDateTime方法。而是使用DateTime.ParseExactorDateTime.TryParseExact因为使用它们,您可以再次指定所需的格式字符串(以及格式提供程序(文化))。

于 2013-09-03T15:52:31.520 回答