【问题标题】:Date format conversion in c#c#中的日期格式转换
【发布时间】:2013-09-06 21:26:14
【问题描述】:

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

【问题讨论】:

标签: c# asp.net datetime


【解决方案1】:

日期为 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);

Demo

现在,如果你想将它转换成这种格式的字符串MM-dd-yyyy:

string result = dt.ToString("MM-dd-yyyy", CultureInfo.InvariantCulture);

【讨论】:

    【解决方案2】:

    使用

    DateTime.ParseExact(x , "MM-dd-yyy", CultureInfo.InvariantCulture);
    

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        猜你喜欢
        • 2012-12-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多