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

如何更改datetime对象的日期格式?,datetime,sqlanywhere,Datetime,Sqlanywhere,目前,我有一个datetime对象 DateTime theDateTime = DateTime.ParseExact(dateAndTime, "d MMMM yyyy hh:mm tt", provider); 它成功地将其从字符串转换为日期时间,例如: 2012年7月6日上午9:30:00 如何将其转换为2012/07/06 09:30:00 24小时格式?这样我就可以用C把它插入数据库了 PS:我使用的是Sybase SQL Anywhere 12,根据我的阅读,他们要求格式为年/月

目前,我有一个datetime对象

DateTime theDateTime = DateTime.ParseExact(dateAndTime, "d MMMM yyyy hh:mm tt", provider);
它成功地将其从字符串转换为日期时间,例如:

2012年7月6日上午9:30:00

如何将其转换为2012/07/06 09:30:00 24小时格式?这样我就可以用C把它插入数据库了


PS:我使用的是Sybase SQL Anywhere 12,根据我的阅读,他们要求格式为年/月/日,时间为24小时格式,对吗?如果我错了,请纠正我。

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

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


如何生成insert命令?您是在使用数据库参数还是只是在生成包含insert语句的字符串?

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

这可以通过时间戳\格式数据库选项进行配置/更改,但是:

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

SET OPTION PUBLIC.timestamp_format = '<format here>';
或根据连接情况临时更改,如:

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

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

嗨,Andrew,我正在使用一个包含insert语句的字符串。如insertAccount.CommandText=插入[meetingMinutes]标题、地点、时段日期、时段时间、与会者、议程、accountID、主持人、日期时间值“+title+”、“+location+”、“+date+”、“+time+”、“+attender+”、“+agenda+”、“+accountID+”、“+facilitator+”、+datetime+;在将其更改为参数之前,我想尝试使用包含元素的字符串插入它。。但是现在即使使用包含元素的插入字符串也不起作用。我真的认为您应该从一开始就使用参数。不应该有任何理由以这种方式构建SQL,如果使用参数,则不需要对date.insertAccount.parameters.Addtitle、title进行任何格式设置;insertAccount.Parameters.Addlocation,位置;insertAccount.Parameters.Adddate,日期;insertAccount.CommandText=插入[meetingMinutes]标题、位置、时段日期值?、?、?,?,?;