SQL转换dd-MM-yyyy HH:mm:SS到MM / dd / yyyy

时间:2012-09-11 11:45:49

标签: c# sql sql-server datetime-format

如何将'11-09-2012 5:08:31 PM'转换为'09/11/2012'? (从dd-MM-yyyy HH:mm:SSMM/dd/yyyy)。

日期为11 September 2012 或者有没有办法在C#中转换它?但在C#中,我只希望日期不是字符串。

5 个答案:

答案 0 :(得分:5)

使用 SQL Server 查询:

SELECT CONVERT(DATETIME, '11-09-2012 5:08:31 PM', 101);

这将转换为MM/dd/yyyy。有关详细信息,请参阅CAST and CONVERT (Transact-SQL)How to convert from string to datetime?


使用 C#转换。

你可以这样做:

string myDate = Convert.ToDateTime("11-09-2012 5:08:31 PM").ToString("MM/dd/yyyy"
                                                  ,CultureInfo.InvariantCulture);

但是,由于您不希望结果为String,因此您可以使用DateTime.ParseExact方法。

DateTime parsedDate = DateTime.ParseExact("11-09-2012 5:08:31 PM", 
                                          "MM/dd/yyyy", 
                                          CultureInfo.InvariantCulture);

答案 1 :(得分:1)

SQL SERVER:

对于[MM / DD / YYYY]格式,请执行此操作:

SELECT CONVERT(VARCHAR(10), CAST('11-09-2012 5:08:31 PM' AS DATETIME), 101) AS [MM/DD/YYYY]

同样,如果你想以[DD / MM / YYYY]格式转换,你可以这样做

SELECT CONVERT(VARCHAR(10), CAST('11-09-2012 5:08:31 PM' AS DATETIME), 103) AS [DD/MM/YYYY]

<强> C#

在C#中,你只需这样:

string formattedDt= Convert.ToDateTime("11-09-2012 5:08:31 PM")
                           .ToString("MM/dd/yyyy",CultureInfo.InvariantCulture);

答案 2 :(得分:0)

在c#中,您应该可以使用method

DateTime.ToShortDateString();

甚至:

DateTime.Now.Date -- will produce just the date

来自MSDN的说明:

  

ToShortDateString方法返回的字符串是   文化敏感。它反映了当前定义的模式   culture的DateTimeFormatInfo对象。例如,对于en-US   文化,标准短日期模式是“M / d / yyyy”;为de-DE   文化,它是“dd.MM.yyyy”;对于ja-JP文化,它是“yyyy / M / d”。   特定计算机上的特定格式字符串也可以是   定制,使其不同于标准的短日期格式   字符串。

答案 3 :(得分:0)

string date = "11-09-2012 5:08:31 PM";
string newDate = DateTime.Parse(date).ToString("dd/MM/yyyy");

答案 4 :(得分:0)

以下是使用日期时间解析的示例代码,有关详细信息,请访问链接C-sharp date time formats

string inputString = "11/08/2012";
DateTime dt = DateTime.MinValue;
try {
dt = DateTime.Parse(inputString);    
} 
catch (Exception ex) {
// handle the exception however you like.
return;
}
string formattedDate = String.Format("{0:MMM d, yyyy}", dt);