.net 日期格式的问题
做了一个程序,读取数据库的记录。发现读取出来显示的是12进制的日期时间格式。
例如: 2007-08-03 13:00:00 读取显示后显示为:2007/08/03 1:00:00 PM
是英文2003操作系统。 时间地区区域设置成 中文了。数据库也是按照中文格式存储的。
当然,用程序的日期格式转换能得到我想要的结果。我比较纳闷的是:
1、同样功能的程序 asp 读取出来的是正常,.net就是12进制
2、webconfig 也设置成 uft-8
3、相同配置的机器,读出来的就是我想要的结果。
------解决方案--------------------2、webconfig 也设置成 uft-8
试试设置成GB2312
------解决方案--------------------格式化时间也不行?
Convert.ToDateTime(dr[ "time "].ToString()).ToShortDateString()
按照你需要的格式化就行了..
------解决方案-------------------- <globalization
requestEncoding= "GB2312 "
responseEncoding= "GB2312 "
fileEncoding= "GB2312 "
/>
------解决方案--------------------读出来的数据是无所谓格式的,只有显示时才和格式相关,如2007-08-03 13:00:00可以这样显示:
((DateTime)dr[ "xx "]).ToString( "yyyy-MM-dd HH:mm:ss ");
yy如果两个则只有07
M、d、H、m、s等如果只有一个,小于10时没有前面的0
更多格式请参阅MSDN
------解决方案--------------------补充:
非y、M、d、H、m、s部分可以随意添加,如
((DateTime)dr[ "xx "]).ToString( "yyyy年MM月dd日 HH:mm:ss ");
((DateTime)dr[ "xx "]).ToString( "yyyyMMddHHmmss ");
((DateTime)dr[ "xx "]).ToString( "时间:yyyy-MM-dd HH:mm:ss ");
.....
------解决方案--------------------试试把时间的格式转换一下
------解决方案--------------------是显示的问题,在页面显示时把日期格式转换一下就行了
------解决方案-------------------- <globalization
requestEncoding= "GB2312 "
responseEncoding= "GB2312 "
fileEncoding= "GB2312 "
/>