微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

这是Linux中的Java.Calendar中的错误? 年没有更新

我在运行Linux的服务器上发生了一些奇怪的事情,而执行相同代码的Windows机器正常运行。

它正在发生以下代码

public static final SimpleDateFormat sqlDateFormat = new SimpleDateFormat("YMd"); Calendar cal = Calendar.getInstance(); String Now = sqlDateFormat.format(cal.getTime()); System.out.println(Now); cal.add(Calendar.DAY_OF_MONTH,-4); cal.set(Calendar.HOUR_OF_DAY,0); cal.set(Calendar.MINUTE,0); String trsh = sqlDateFormat.format(cal.getTime()); System.out.println(trsh);

在Windows机器上运行的输出

java version "1.7.0_07" Java(TM) SE Runtime Environment (build 1.7.0_07-b11) Java HotSpot(TM) 64-Bit Server VM (build 23.3-b01,mixed mode) Output: 2014-01-02 2013-12-29

以上是匹配的预期结果。

Java日历问题,JDK 1.6.0.22

用户使用阿拉伯语/ Hijri日历delphi问题

用日历和分页htaccess获得价值

显示UTC而不是EST的本地显示EST的Linux服务器

如何启动Windows日历以显示特定的一天?

运行Linux机器上的输出

java version "1.8.0-ea" Java(TM) SE Runtime Environment (build 1.8.0-ea-b108) Java HotSpot(TM) 64-Bit Server VM (build 25.0-b50,mixed mode) Output: 2014-01-02 2014-12-29

这很奇怪,不是吗? 任何不错的解决方法

如何在我的应用程序中更改日历视图

kernel32.GetDateFormatEx和ar-SAdate

是1000年(和其他)闰年?

如何添加新的Windows日历types?

如何在Java应用程序日历中设置第一个星期几

也许你已经用图案符号Y而不是y构造了你的格式对象。 Y表示星期几,不是正常的日历年。 它依赖于语言环境,尤其取决于一周的开始时间。 所以你的Windows机器和Linux服务器上的语言环境设置可能会有所不同。 请记住,java.util.Calendar IS也依赖于语言环境。

尝试new SimpleDateFormat("yyyy-MM-dd");

您在SimpleDateFormat中有一年的错误格式。 你应该使用y而不是Y

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐