目前,我有一个日期时间对象
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小时格式的时间吗?如果我错了,请纠正我。
答案 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数据库选项进行配置/更改:
可以通过SQL永久更改设置,如:
SET OPTION PUBLIC.timestamp_format = '<format here>';
或暂时改变(基于每个连接),如:
SET TEMPORARY OPTION timestamp_format = '<format here>';
当然,如果您的代码中已经有一个datetime对象,那么您应该能够将该值传递给参数化查询。它不必作为字符串传递。