`
hpjianhua
  • 浏览: 235773 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类

JDK源码中对当前时间的一些用法

 
阅读更多
JDK源码中对当前时间的一些用法:
		 String[] ids = TimeZone.getAvailableIDs(-8 * 60 * 60 * 1000);
		 // if no ids were returned, something is wrong. get out.
		 if (ids.length == 0)
		     System.exit(0);

		  // begin output
		 System.out.println("Current Time");

		 // create a Pacific Standard Time time zone
		 SimpleTimeZone pdt = new SimpleTimeZone(-8 * 60 * 60 * 1000, ids[0]);

		 // set up rules for daylight savings time
		 pdt.setStartRule(Calendar.APRIL, 1, Calendar.SUNDAY, 2 * 60 * 60 * 1000);
		 pdt.setEndRule(Calendar.OCTOBER, -1, Calendar.SUNDAY, 2 * 60 * 60 * 1000);

		 // create a GregorianCalendar with the Pacific Daylight time zone
		 // and the current date and time
		 Calendar calendar = new GregorianCalendar(pdt);
		 Date trialTime = new Date();
		 calendar.setTime(trialTime);

		 // print out a bunch of interesting things
		 System.out.println("ERA: " + calendar.get(Calendar.ERA));
		 System.out.println("YEAR: " + calendar.get(Calendar.YEAR));
		 System.out.println("MONTH: " + calendar.get(Calendar.MONTH));
		 System.out.println("WEEK_OF_YEAR: " + calendar.get(Calendar.WEEK_OF_YEAR));
		 System.out.println("WEEK_OF_MONTH: " + calendar.get(Calendar.WEEK_OF_MONTH));
		 System.out.println("DATE: " + calendar.get(Calendar.DATE));
		 System.out.println("DAY_OF_MONTH: " + calendar.get(Calendar.DAY_OF_MONTH));
		 System.out.println("DAY_OF_YEAR: " + calendar.get(Calendar.DAY_OF_YEAR));
		 System.out.println("DAY_OF_WEEK: " + calendar.get(Calendar.DAY_OF_WEEK));
		 System.out.println("DAY_OF_WEEK_IN_MONTH: "
		                    + calendar.get(Calendar.DAY_OF_WEEK_IN_MONTH));
		 System.out.println("AM_PM: " + calendar.get(Calendar.AM_PM));
		 System.out.println("HOUR: " + calendar.get(Calendar.HOUR));
		 System.out.println("HOUR_OF_DAY: " + calendar.get(Calendar.HOUR_OF_DAY));
		 System.out.println("MINUTE: " + calendar.get(Calendar.MINUTE));
		 System.out.println("SECOND: " + calendar.get(Calendar.SECOND));
		 System.out.println("MILLISECOND: " + calendar.get(Calendar.MILLISECOND));
		 System.out.println("ZONE_OFFSET: "
		                    + (calendar.get(Calendar.ZONE_OFFSET)/(60*60*1000)));
		 System.out.println("DST_OFFSET: "
		                    + (calendar.get(Calendar.DST_OFFSET)/(60*60*1000)));

		 System.out.println("Current Time, with hour reset to 3");
		 calendar.clear(Calendar.HOUR_OF_DAY); // so doesn't override
		 calendar.set(Calendar.HOUR, 3);
		 System.out.println("ERA: " + calendar.get(Calendar.ERA));
		 System.out.println("YEAR: " + calendar.get(Calendar.YEAR));
		 System.out.println("MONTH: " + calendar.get(Calendar.MONTH));
		 System.out.println("WEEK_OF_YEAR: " + calendar.get(Calendar.WEEK_OF_YEAR));
		 System.out.println("WEEK_OF_MONTH: " + calendar.get(Calendar.WEEK_OF_MONTH));
		 System.out.println("DATE: " + calendar.get(Calendar.DATE));
		 System.out.println("DAY_OF_MONTH: " + calendar.get(Calendar.DAY_OF_MONTH));
		 System.out.println("DAY_OF_YEAR: " + calendar.get(Calendar.DAY_OF_YEAR));
		 System.out.println("DAY_OF_WEEK: " + calendar.get(Calendar.DAY_OF_WEEK));
		 System.out.println("DAY_OF_WEEK_IN_MONTH: "
		                    + calendar.get(Calendar.DAY_OF_WEEK_IN_MONTH));
		 System.out.println("AM_PM: " + calendar.get(Calendar.AM_PM));
		 System.out.println("HOUR: " + calendar.get(Calendar.HOUR));
		 System.out.println("HOUR_OF_DAY: " + calendar.get(Calendar.HOUR_OF_DAY));
		 System.out.println("MINUTE: " + calendar.get(Calendar.MINUTE));
		 System.out.println("SECOND: " + calendar.get(Calendar.SECOND));
		 System.out.println("MILLISECOND: " + calendar.get(Calendar.MILLISECOND));
		 System.out.println("ZONE_OFFSET: "
		        + (calendar.get(Calendar.ZONE_OFFSET)/(60*60*1000))); // in hours
		 System.out.println("DST_OFFSET: "
		        + (calendar.get(Calendar.DST_OFFSET)/(60*60*1000))); // in hours		


输出:
Current Time
ERA: 1
YEAR: 2011
MONTH: 8
WEEK_OF_YEAR: 37
WEEK_OF_MONTH: 2
DATE: 4
DAY_OF_MONTH: 4
DAY_OF_YEAR: 247
DAY_OF_WEEK: 1
DAY_OF_WEEK_IN_MONTH: 1
AM_PM: 1
HOUR: 11
HOUR_OF_DAY: 23
MINUTE: 44
SECOND: 41
MILLISECOND: 81
ZONE_OFFSET: -8
DST_OFFSET: 1
Current Time, with hour reset to 3
ERA: 1
YEAR: 2011
MONTH: 8
WEEK_OF_YEAR: 37
WEEK_OF_MONTH: 2
DATE: 4
DAY_OF_MONTH: 4
DAY_OF_YEAR: 247
DAY_OF_WEEK: 1
DAY_OF_WEEK_IN_MONTH: 1
AM_PM: 1
HOUR: 3
HOUR_OF_DAY: 15
MINUTE: 44
SECOND: 41
MILLISECOND: 81
ZONE_OFFSET: -8
DST_OFFSET: 1

2
3
分享到:
评论

相关推荐

    bcprov-jdk15on-1.56.jar中文文档.zip

    # 使用方法: 解压 【bcprov-jdk15on-***.jar中文文档.zip】,再解压其中的 【bcprov-jdk15on-***-javadoc-API文档-中文(简体)版.zip】,双击 【index.html】 文件,即可用浏览器打开、进行查看。 # 特殊说明: ...

    xp-CAPTCHA-v2.2.jdk

    在最新版的burp2.x中jdk为1x,会导致插件不可用,使用jdk8编译到不行,请下载jdk16版本试试,若还不行,请自行下载源码使用当前电脑的jdk1x进行编译,谢谢。 爆破时,记得把线程设置为1。 验证码识别,支持计算类验证码 ...

    Hellohao全网对象存储图床源码.rar

    简介: Hellohao图像托管程序这是一个基于多家对象存储源的SpringBoot开源图像托管程序。 目前已经支持对接本地、网易、阿里、又拍、七牛、...可以使用一些后台命令把项目锁定后台。如nohup或screen,推荐使用screen

    基于优先级的非抢占、抢占进程调度算法模拟程序java源码+项目使用说明.zip

    在模拟运行过程中,可以对当前进程进行阻塞,也可以在阻塞队列中唤醒进程。 在运行过程中可随时暂停模拟,观察结果。验证完毕后可以继续模拟。 模拟结束后可在预览窗口查看模拟运行结果。包括运行时间,周转时间,...

    Hellohao全网对象存储图床源码

    Hellohao全网对象存储图床源码 开发语言:java Hellohao图像托管程序这是一个基于多家对象存储源的SpringBoot开源图像托管程序。 目前已经支持对接本地、网易、阿里、又拍、七牛、腾讯、FTP、U-File、Backblaze、...

    【视频2】移动应用开发-JDK安装

    其核心底层我们不做开发,重点在于对应用层的使用,即如何使用底层封装好的代码来实现所需的APP。 原生安卓并不难,绝大多数的应用是固定写法,需要掌握以下几点方法: Java基础的熟练程度。包括基础语法使用、...

    Java中LockSupport的使用.docx

    LockSupport是JDK1.6中在java.util.concurrent中的子包locks中引入的一个比较底层的工具类,用来创建锁...根据LockSupport 源码发现LockSupport的核心方法都是基于大名鼎鼎的sun.misc.Unsafe类中的park和unpark实现的。

    基于SpringBoot和Vue的餐馆点餐系统源码+数据库+项目说明(毕设).zip

    标识参数中的UserId是否与当前登录用户一致 #### NeedAdmin 是否需要管理员权限,管理员的type为1,普通用户为0 #### PreAuthorize SpEL表达式,可以自定义自己的权限验证方法,用于复杂校验 ### 异常统一处理 ...

    简单的JAVA HTML服务器

    使用方法,在DOS窗口下,转到当前HTMLJAR所在目录,打入如下命令: java -Djava.ext.dirs=. httpserver.HttpServer [HTML服务所在路径] [端口] HTML服务所在路径及端口参数是可选的,路径默认路径为当前应用所在路径...

    java环境搭建.docx

    1.在java语言中,对各种变量,方法和类等要素命名时所使用的字符序列就是标识符。 有些标识符是jdk定义好的(关键字。 如:public) 2.java中标识符由26个英文字符大小写,数字0-9,符号_$。注意:数字不能开头。 ...

    java范例开发大全(pdf&源码)

    实例193 使用GregorianCalendar类获取系统的当前时间 326 实例194 使用SimpleDateFormat类获取系统的当前时间 329 实例195 显示某年某月某一周的信息 330 实例196 显示某年某月的信息 332 实例197 时间的设置与获取 ...

    你必须会的 JDK 动态代理和 CGLIB 动态代理

    我们在阅读一些 Java 框架的源码时,基本上常会看到使用动态代理机制,它可以无感的对既有代码进行方法的增强,使得代码拥有更好的拓展性。 通过从静态代理、JDK 动态代理、CGLIB 动态代理来进行本文的分析。 静态...

    北京达内 core java核心课件(含练习题)

    查看类库源码在:JDK/src.zip 压缩包里 三、 环境变量的设置: 需要新加的两个环境变量 1、JAVA_HOME:指名JDK 的位置。 2、CLASSPATH:指名到哪里去找运行时需要用到的类代码(字 节码) 原有的环境变量 ...

    Eclipse安装与使用.doc

    学习完本教程后,您将对如何在 Eclipse中创建和运行JAVA程序有一个基本了解。 二、 Eclipse概述 Eclipse的设计思想是:一切皆插件。Eclipse核心很小,其它所有功能都以插件的形式附加于Eclipse核心之上。 Eclipse 是...

    一个Java游戏的源代码

    则会使用当前的分辩率,这样可以会有一些显示方面的问题 2,押分键为主键盘的1至9,按回车键起动,跑完后,会根据你押的分数算出你的得分,如果你中了,则会重复播放音乐,如果没有中,则不播音乐 3,音乐会...

    rexplector:粗略的可视化OpenJDK如何匹配正则表达式

    请注意,仅使用OpenJDK 8、9和10对运行的Rexplector进行了测试。 它是如何工作的? OpenJDK通过将正则表达式转换为对象树来匹配正则表达式。 树中的每个对象都代表正则表达式的构造(或多或少)。 这些对象都是从...

    java8源码-springboot_gradle_demos:spring-bootgradle演示

    因此Pointcut中的方法只需要方法签名,而不需要在方法体内编写实际代码。 @Around:环绕增强,相当于MethodInterceptor @AfterReturning:后置增强,相当于AfterReturningAdvice,方法正常退出时执行 @Before

    Android期末设计报告.docx

    更重要的是在系统分析和设计阶段所做的工作,本文在设计过程中严格遵循软件工程学的方法,用分段的生命周期计划严格管理,并主要讲述了程序的总体设计,详细设计阶段对程序进行需求迭代,不断修正和改进,直到形成一...

    java8rt.jar源码-mini-jvm:Go语言实现的JVM,实现了部分字节码的解释执行,学习JVM使用

    控制台输出、多线程功能通过自定义的标准库"mini-lib"中的Printer和MiniThread实现,没有使用JDK的标准库Thread,可以执行compile-minilib.sh编译mini-lib源文件; 当前支持的特性有: int加法 条件判断、for循环 ...

    计算器源码下载java-dev-tools:一款应用中最受欢迎的软件开发工具

    计算器源码下载java 开发工具 一款应用程序中最受欢迎的软件开发人员工具。 安装 dev-tools是一个 Maven JavaFX 应用程序。 从源代码构建一个可执行的 jar: mvn clean package -U 使用以下方法构建本机应用程序: ...

Global site tag (gtag.js) - Google Analytics