C#中的日期问题

时间:2010-10-14 13:21:31

标签: c# winforms

如果我在字符串中有这个:10/13/2010 8:38:40 AM

如何做到这一点:13/10/2010 08:38:40

提前谢谢

7 个答案:

答案 0 :(得分:9)

DateTime.ParseExact("10/13/2010 8:38:40 AM","MM/dd/yyyy h:mm:ss tt",CultureInfo.InvariantCulture).ToString("dd/MM/yyyy HH:mm:ss")

编辑以确保输出中使用24小时时钟

答案 1 :(得分:6)

使用DateTime.Parse()转换为真正的DateTime对象,然后使用DateTime.ToString()方法输出到您想要的格式(代码示例即将发布):

var dateTime = DateTime.Parse("10/13/2010 8:38:40 AM");
var formattedString = dateTime.ToString("dd/MM/yyyy HH:mm:ss);

答案 2 :(得分:2)

又快又脏:

DateTime.Parse("10/13/2010 8:38:40 AM", new CultureInfo("en-US")).ToString(new CultureInfo("en-GB"));

因为我知道这些格式适用于那些文化。但是,您可以在以下位置阅读有关日期时间格式的更多信息:

http://msdn.microsoft.com/en-us/library/zdtaw1bw.aspx

标准格式: http://msdn.microsoft.com/en-us/library/az4se3k1.aspx

自定义格式: http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx

答案 3 :(得分:2)

或者对于更通用的解决方案,只需将格式字符串传递给DateTime.ToString(' formatString ')。例如,你想要的是DateTime.ToString(“dd / MM / yyyy HH:mm:ss”)。这允许您制作任何您想要的格式。

示例:

DateTime exDT = DateTime.Now;  
string exOut = exDT.toString("dd/MM/yyyy HH:mm:ss");

这是一张备忘单!你可以在你想要的地方使用“:”

d    Short Date
D    Long Date
t    Short Time
T    Long Time
f    Full date and time
F    Full date and time (long)
g    Default date and time
G    Default date and time (long)
M    Day / Month
r    RFC1123 date
s    Sortable date/time
u    Universal time, local timezone
Y    Month / Year
dd   Day
ddd  Short Day Name
dddd Full Day Name
hh   2 digit hour
HH   2 digit hour (24 hour)
mm   2 digit minute
MM   Month
MMM  Short Month name
MMMM Month name
ss   seconds
tt   AM/PM
yy   2 digit year
yyyy 4 digit year

答案 4 :(得分:0)

        var strfrom = "10/13/2010 8:38:40 AM";
        DateTime dt = DateTime.Parse(strfrom, new CultureInfo("en-US"));
        Console.WriteLine(dt.ToString(new CultureInfo("en-GB")));

答案 5 :(得分:0)

var curDate = DateTime.Now.ToString() ;
string customDateFormat = Convert.ToDateTime(curDate).ToString("dd/MM/yyyy");

答案 6 :(得分:0)

另一个变体,一行:

            DateTime.Parse("10/13/2010 8:38:40 AM", new CultureInfo("en-US")).ToString("dd/MM/yyyy HH:mm:ss");