如何更改日期时间对象的日期格式?

时间:2012-07-06 01:43:02

标签: datetime sqlanywhere

目前,我有一个日期时间对象

DateTime theDateTime = DateTime.ParseExact(dateAndTime, "d MMMM yyyy hh:mm tt", provider);

成功地将其转换为日期时间(从字符串)变为例如:

7/6/2012 9:30:00 AM

我如何将此转换为2012/07/06 09:30:00(24小时格式)?这样我就可以使用C#??

将其插入数据库

PS:我正在使用Sybase SQL Anywhere 12,根据我的阅读,他们需要将这些格式设置为年/月/日以及24小时格式的时间吗?如果我错了,请纠正我。

2 个答案:

答案 0 :(得分:0)

DateTime本身没有格式。日期和时间在内部存储为数字。通常,数据库提供程序的类负责将DateTime转换为正确的格式。

如果Sybase只接受格式化为字符串的日期,则需要使用DateTime.ToString方法并将其格式化为correct format string

您是如何构建插入命令的?您使用数据库参数还是只构建包含insert语句的字符串?

答案 1 :(得分:0)

SQL Anywhere 12的默认日期格式为YYYY-MM-DD HH:NN:SS.SSS

这可以使用timestamp_format数据库选项进行配置/更改:

timestamp_format option

可以通过SQL永久更改设置,如:

SET OPTION PUBLIC.timestamp_format = '<format here>';

或暂时改变(基于每个连接),如:

SET TEMPORARY OPTION timestamp_format = '<format here>';

当然,如果您的代码中已经有一个datetime对象,那么您应该能够将该值传递给参数化查询。它不必作为字符串传递。