对于集群和分布式等大型系统来说,时间及其同步是个很重要的问题。经过对RedHat linux及JRE(包括Oracle JRE,IBM JRE)的研究,现总结如下。1,时间的查看通常的时间可分为local时间和UTC时间,local时间在linux下使用date查看:# dateWed Oct 31 17:38:06 BRST 2012通常这个时间是指所在时区和包括了夏令时计算的时间值。所有使用linux时间的系统打印出的时间都是这个。UTC时间是指标准格林威治及零时区的时间,不包含夏令时的计算。UTC时间查看方式是:# date -uWed Oct 31 19:38:12 UTC 2012基本上:Local时间=UTC时间+时区时间差+夏令时时间差还有硬件时间,及BIOS上存储的时间,查看方式:# hwclockWed 31 Oct 2012 05:38:16 PM BRST -0.328544 seconds为了查看JRE的时间,我们写了一个工具:# cat TestTimeZone.javaimport java.text.SimpleDateFormat;
import java.util.Date;
import java.util.TimeZone;
public class TestTimeZone
{
private static String DEFAULT_FORMAT = "yyyy-MM-dd HH:mm:ss.SSS (z)";
private static SimpleDateFormat sdf = new SimpleDateFormat(DEFAULT_FORMAT);
public static void main(String args[])
{
Date dt = new Date();
System.out.println("Current time: "+ sdf.format(dt));
sdf.setTimeZone(TimeZone.getTimeZone("UTC"));
System.out.println("UTC time: "+ sdf.format(dt));
System.out.println("Env variable user.timezone:" + System.getProperty(""user.timezone"));
}
}为了兼容低版本JRE,采用JDK1.4编译,运行:
#/usr/java/j2sdk1.4.2/bin/java TestTimeZone.java
#java TestTimeZone
Current time: 2012-10-31 15:57:47.014 (BRST)
UTC time: 2012-10-31 17:57:47.014 (UTC)
Env variable user.timezone :America/Bahia
Linux/shell命令的实际应用——查看Port占用Ubuntu下Code::Blocks环境中Allegro5的安装配置相关资讯 RedHat Linux
- RedHat Linux启动时出现linux (01月19日)
- RedHatLinux 6.2 安装配置GUI (07/20/2014 10:58:49)
- Redhat Linux源码安装 (08/03/2013 13:29:39)
| - Shilpa Nair 分享的 RedHat Linux (09/14/2015 09:51:45)
- RedHat Linux下安装jdk-6u45-linux (01/14/2014 20:37:24)
- RedHat Linux下修改站点的默认路径 (06/04/2013 06:47:16)
|
本文评论 查看全部评论 (0)