日期:2014-05-19  浏览次数:20681 次

.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 "
/>