SQL Server2008的安装,SQLServer2008的安装......
2023-02-22 269 安装
win7下java获取本机时间时,会比实际时间相关8个小时
要解决这个问题需要设置时区
方法1:
指定时区
Code:
package chapter5;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.TimeZone;
public class DateDemo {
public static void main(String[] args) {
Date d = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss ");
sdf.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai"));
System.out.println(sdf.format(d));
}}
执行下看看结果:
2016-04-06 00:46:48
Ok
与预期一致
方法2:更改时区
Code:
package chapter5;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.TimeZone;
public class DateDemo {
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance();
calendar.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai"));
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss ");
System.out.println(sdf.format(calendar.getTime()));
}
}
执行下看看结果
Output:
2016-04-06 00:54:12
与预期一致
OK
设置时区的另一种办法:
Code:
calendar.setTimeZone(TimeZone.getTimeZone("GMT 08:00"));
如果想简单粗暴的减8个小时呢?
Code:
package chapter5;
import java.text.SimpleDateFormat;
import java.util.Calendar;
public class DateDemo {
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance();
// calendar.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai"));
// calendar.setTimeZone(TimeZone.getTimeZone("GMT 08:00"));
calendar.add(Calendar.HOUR, -8);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss ");
System.out.println(sdf.format(calendar.getTime()));
}
}
以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!
相关文章