我现在在本地tomcat环境下可以是将CST时间转换成UTC时间,如:
var cstDate=CSTDate;(这是一个变量值,其中值为:Sun Mar 31 00:00:00 CST 2013,但这个地方不知道是String型还是Date型,感觉比较困惑)
var date=new Date(cstDate);这样在tomcat下是可以转换的,显示结果为:Sun Mar 31 14:00:00 UTC+0800 2013;
但是当我把程序部署到weblogic后,就不能转换了,显示为:NAN;
顺便测试了下,在weblogic下,var date=new Date("Sun Mar 31 00:00:00 CST 2013");可以转换,但当我换成那个变量CSTDate时就不能转换了,所以前面应该不是String型;但也具体不知道是什么Date型,还有CST时间不能直接使用getMonth()方法吧,我最终的目的是得到这个时间的月份,求大神解答,谢谢!
这个地方对上面的问题进行补充下:原本在本地显示的是CST时间但到weblogic上就变成GMT时间了,就是var date=new Date(cstDate);中的CSTDate,这个可能与weblogic对时间的设置有关,所以在weblogic上就变成var date=new Date(GMTDate);经测试,这种转换在W3C验证中是支持的,即weblogic不支持这种转换,同时也不支持对CST时间的转换;我个人认为这可能是weblogic对日期转换的一个bug,要获取从java中传递到前台日期的月份,首先在java中把该日期做为字符串格式化好,即yyyy-MM-dd等格式,然后放到session等jsp内置对象中,我采用的是在访问jsp时做这步操作,在jsp中添加java代码,然后在前台js里面从jsp内置对象里面直接取出来,但取出来的是字符串,你会想是不是又可以把它转换成Date型呢,然后用getMonth()+1方法获得月份,答案是这样是不可取的,会出现和前面一样的问题,也就是又绕回去了,所以我们只有选择对这个字符串格式的字符串进行截取来获得我们想要的年份和月份。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。