状况:
前两天更换服务器,系统也由windows server2003 升级为 windows server2008 R2 64位。此前一个对外提供服务的 webservice 响应的 xml文件中,日期时间格式均为:【2014-03-19 13:37:31】格式,现在变成了【2014/5/16 13:58:39】。
响应的xml中,部分时间字段是 由 now.tostring 生成,部分是 oracle字段存储的值。
已经在控制面板-时间日期 设置中将 时间格式 设置为 2015-03-24 这种格式,而且Oracle中时间字段的显示也是这种格式。 但是 返回的 仍然是 “/” 而不是 “-” 分隔符。
由于使用服务的用户程序有点问题,现在他们不愿意修改程序,我们也不太愿意调整程序。
请问:是什么原因?如何解决?
我分别写了一个 简单的C/S的 程序 和一个 webservice 上去测试。
发现 c/s的显示已经正常。
webservice的除了明确格式化为:("yyyy-MM-dd HH:mm:ss"),其他的都还是 / 形式。
莫名。
我记得好像是在程序里面把"-"转换成“/”吧。 DateTime d = Convert.ToDateTime(datetime);
return d.Year + "/" + d.Month + "/" + d.Day ;
不是你说的这种情况,谢谢。
我大约记得是根据数据库的字符集可以解决的样子!试试数据库的字符集。
截图红色区域,希望能帮到你
兄弟,我确认这个地方的操作设置我已经做过了。
不过还是没有效果
同遇到这样的问题,也是改了设置没用,现在没管它,程序没问题。
.NET的CurrentCulture设置是什么呀?看看这个。
有一个办法很简单,你重载一下DateTime.ToString(),把它变为DateTime.ToString("yyyy-MM-dd HH:mm:ss")
这是我能想到的最简单的办法了
@3楼的是一个原因,还有就是可以在ToString的时候指定CuretureInfo