3

我怎样才能转换'11-09-2012 5:08:31 PM''09/11/2012'?(从dd-MM-yyyy HH:mm:SSMM/dd/yyyy)。

日期是11 September 2012
或者有什么方法可以在 C# 中转换它?但在 C# 中,我只想要日期而不是字符串。

4

5 回答 5

5

使用SQL Server查询:

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

这将在MM/dd/yyyy.For 中进行转换。有关更多信息,请参阅CAST 和 CONVERT (Transact-SQL)以及如何从字符串转换为日期时间?


使用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);
于 2012-09-11T11:49:48.767 回答
1

SQL 服务器:

对 [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);
于 2012-09-11T11:49:07.580 回答
0

在 c# 中,您应该能够使用以下方法

DateTime.ToShortDateString();

甚至:

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

来自 MSDN 的注释:

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

于 2012-09-11T11:49:37.237 回答
0
string date = "11-09-2012 5:08:31 PM";
string newDate = DateTime.Parse(date).ToString("dd/MM/yyyy");
于 2012-09-11T11:52:33.530 回答
0

这是使用日期时间解析的示例代码,有关更多信息,您可以访问链接C-sharp 日期时间格式

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);
于 2012-09-11T11:56:30.270 回答