如何将'11-09-2012 5:08:31 PM'
转换为'09/11/2012'
? (从dd-MM-yyyy HH:mm:SS
到MM/dd/yyyy
)。
日期为11 September 2012
或者有没有办法在C#中转换它?但在C#中,我只希望日期不是字符串。
答案 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);