windows系统是允许用户随意设置系统时间显示格式的,如下设置:
我为系统显示时间加上“上午/下午”。设置完成以后系统时间显示为如下:
此时在程序中使用DateTime.Now取系统当前时间时,返回的时间为如下格式:
如果只是在程序中使用dt做单纯的时间运算是没有任何问题的,但是如果将该格式的时间传回数据库作为查询条件时则出报错,如下:
这个问题也不是不能解决的,只是每次传回给数据库时,需将它格式化为数据库接受的时间格式,可以使用以下语句:
DateTime dt=DateTime.Now;
string str=dt.ToString("yyyy-MM-dd HH:mm:ss");
将格式化后的字符串传回数据库作为查询条件。