时区不正确,TimeUtils默认使用格林威治时间,晚了8小时,而我们使用的是北京时间,需要设置时区为东8区 ▌解决方案 在时间格式转换前,添加以下代码 代码语言:javascript 复制 System.out.println("原时间 "+newDate());TimeZone time=TimeZone.getTimeZone("Etc/GMT-8");//转换为中国时区TimeZone.setDefault(time)...
SimpleDateFormat df1=new SimpleDateFormat("GGGG yyyy/MMMM/dd HH:mm:ss EEE aaa zzzz",Locale.CHINA); SimpleDateFormat df2=new SimpleDateFormat("GGGG yyyy/MMMM/dd HH:mm:ss EEE aaa zzzz",Locale.US); //公元 2016/三月/27 23:32:10 星期日 下午 中国标准时间 //AD 2016/March/27 23:32:...
考虑到代码的可移植性,在用到时间的地方都初始化当前的时区;加上代码: setTimeZone(TimeZone.getTimeZone("Asia/Shanghai")); 修改如下: Date d = new Date(); SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd kk:mm:ss "); sdf.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai")); System...
new Date()获取正确,使用TimeUtils.timeInUTC()转换日期格式后,时间早了比北京时间晚了8小时 ▌原因分析 时区不正确,TimeUtils默认使用格林威治时间,晚了8小时,而我们使用的是北京时间,需要设置时区为东8区 ▌解决方案 在时间格式转换前,添加以下代码 System.out.println("原时间 " + new Date()); TimeZone ...
java new Date()得到的时间和系统时间不一样 造成这种问题的原因可能是:你的操作系统时区跟你JVM的时区不一致。 你的操作系统应该是中国的时区吧,而JVM的时区不一定是中国时区,你在应用服务器的Java虚拟机添加如下配置: -Dfile.encoding=UTF8 -Duser.timezone=GMT+08...
1.java下使用new date()获取的时间会和真实的本地时间相差8小时。2.本地获取的时间没有错,存入数据库的时候时间相差8小时。3.数据库时间没有错,获取到了后端,之后返回给前端相差8小时。原因:1.new date()调用的是jvm时间,而jvm使用的时间默认是0时区的时间,即:和北京时间将会相差8小时。
import java.util.TimeZone;public void getNowTime(){ TimeZone timeZone = TimeZone.getDefault();// 获取时区 Calendar calendar = Calendar.getInstance(timeZone);//创建Calendar System.out.println("年"+calendar.get(Calendar.YEAR));System.out.println("月"+(calendar.get(Calendar....
【时区】java项⽬newdate()时间和服务器时间(数据库)不 ⼀致 造成这种问题的原因可能是:你的操作系统时区跟你JVM的时区不⼀致。你的操作系统应该是中国的时区吧,⽽JVM的时区不⼀定是中国时区,你在应⽤服务器的Java虚拟机添加如下配置: - Dfile.encoding=UTF8 -Duser.timezone=GMT+08 在...
一般情况下不会出现如题所示的问题,既然出现了我们就要想办法解决之。以我的机器为例,我的当前系统时间是北京时间2011-08-31T08:00:00,但是newDate()得到的却是:2011-08-31T00:00:00。表示java得到的时间比当前系统时间提前了8个小时,那么我们就要想办法把java得到的时间向后推迟8个小时。解决的办法是: ...
@Test public void test2() { String patternStr = "yyyy-MM-dd HH:mm:ss"; // 北京时间(new出来就是默认时区的时间) Date bjDate = new Date(); // 得到纽约的时区 TimeZone newYorkTimeZone = TimeZone.getTimeZone("America/New_York"); // 根据此时区 将北京时间转换为纽约的Date DateFormat ...