C#中的日期时间为12小时到24小时格式

时间:2012-12-14 08:24:08

标签: c# sql

在C#中,我有一个非军事格式的字符串/ 12小时,如下午1:50。我想把它转换成13:50。如何在C#或SQL中实现这一目标?我想为这个问题编写一个程序,但我想我可以在C#中找到一个函数。

下载1:50的简单Varchar列。 ,晚上8:46。

4 个答案:

答案 0 :(得分:4)

在C#中,您可以将DateTime.ParseExact与格式字符串一起使用:

DateTime.ParseExact("1:50 PM", "h:mm tt", CultureInfo.InvariantCulture).ToString("HH:mm");

默认ToString()将为您提供本地表示(也可能是AM / PM),因此您需要使用显式格式字符串"HH:mm"将其转换为24小时格式。请注意,在内部,DateTime对象不关心AM / PM,这仅在转换为字符串时才起作用,因此在调试器中DateTime对象可能仍显示为"1:50 PM" (取决于您的语言环境)。

答案 1 :(得分:2)

不确定,但尝试这样

DateTime dt;
bool val= DateTime.TryParse("01:00 PM", out dt);
if(val)
dt.ToString("HH:mm");

如果这完成了,请尝试使用@ Botz3000

回答的文化选项

答案 2 :(得分:0)

使用SQL SERVER 2008,您可以尝试类似

的内容
SELECT CAST('1:50 pm' AS TIME)

答案 3 :(得分:0)

如果您只讨论已有日期的 rapresentation ,则可以使用C#内的不同DateTime Formats来欺骗它。