如何以标准格式转换日期时间

时间:2011-06-14 13:03:04

标签: c# asp.net

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

7 个答案:

答案 0 :(得分:6)

你有没有尝试过:

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

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

答案 1 :(得分:5)

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

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

答案 2 :(得分:2)

将正确的格式传递给DateTime.ToString Method,如下所示:

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

答案 3 :(得分:0)

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

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

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

答案 4 :(得分:0)

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

您想要更改渲染的格式。您可以使用DateTime.ToString(string Format)

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

解析DateTime对象读取现有格式以设置其值的方式,ToString是关于将其渲染出来的。

答案 5 :(得分:0)

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

如果是这样,那么您可以使用以下内容将其解析为有效的DateTime

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

如果您已有DateTime,则可以使用其他答案中已提出的任何方法将其格式化为string

答案 6 :(得分:0)

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

使用它会起作用。