如何将标准格式的日期时间转换为

问题描述:

我以适当的格式从数据库中获得日期,但我以不合适的格式获得时间,例如19/10/2010 4:45:00 AM。我希望我的时间成为......:mm:ss。我只得到一小时,即h。 追加0似乎不是一个很好的解决方案什么是解析它在预期的格式,即hh:mm:ss的alernative?如何将标准格式的日期时间转换为

+3

你目前有什么代码? – ChrisF 2011-06-14 13:05:21

你尝试:

yourDate.ToString("dd-MM-yyyy HH:mm:ss"); 

大写 “HH” 表示24小时格式...

使用dateTime.ToString("g"); // g - 一般日期时间格式。
Custom Date and Time Format Strings

,或者使用一些自定义的格式:dateTime.ToString("dd/MM/yyyy HH:mm:ss");
Standard Date and Time Format Strings

+0

@Akram Shahda谢谢 – VMAtm 2011-06-14 13:17:43

如果您使用的是Sql Server,则使用

Convert(getdate(),varchar(15),109) 

详细信息可以在这里找到 SQL Server Date Time Format

传递正确格式为DateTime.ToString Method如下所示:

dateValue.ToString("dd/MM/yyyy hh:mm:ss tt"); 

没有什么“不正当”你收到的日期格式,这只是数据库的默认格式(如果合适,我相信可以通过您的dba进行更改)

你想改变呈现的格式。为此,您可以使用DateTime.ToString(string Format)

DateTime dt = DateTime.Parse("19/10/2010 4:45:00 AM"); 
dt.ToString("hh:mm:ss"); 

解析DateTime对象如何读取现有的格式来设置它的值,ToString即将呈现出来。

我不确定你的问题是什么。你如何从数据库中获取格式不正确的日期?您是否收到已格式化的string

如果是这样,那么你可以使用它解析为有效DateTime如下:

DateTime d = 
    DateTime.ParseExact(date, "dd/MM/yyyy h:mm:ss tt",CultureInfo.InvariantCulture); 

如果你已经有了一个DateTime那么你可以用任何在已经提出的方法格式化为string其他答案。

yourDate.ToString(“dd-MM-yyyy HH:mm:ss”);

使用此工具将起作用。