一、currentTimeMillis()方法

System 类中的方法 currentTimeMillis() 方法可以返回从 GMT1970 年 1 月 1 日 00 : 00 : 00 开始到当前时刻的毫秒数。

System.currentTimeMillis(); //返回值为long类型

二、Date类

1.构造方法

(1)public Date (); 以当前系统时间创建一个Date对象;

(2)public Date (long date); 用指定的毫秒级时间创建一个Date对象,代表自1970年起经过了 date 毫秒后的时间。

Date date1 = new Date();

System.out.println(date1); //输出当前系统时间

Date date2 = new Date(4516379);

System.out.print(date2); //输出为 “Thu Jan 01 09:15:16 CST 1970”

注:Date 的构造函数共有四个,但其他两个已经过时,因此不做说明。

2,常用方法

功能

方法

判断日期是否在 when 之后

public boolean after(Date when)

判断日期是否在 when 之前

public boolean before(Date when)

判断日期和 when 的时间先后顺序,早于、相等、晚于分别返回 -1,0,1

public int compareTo(Date when)

判断两个日期代表的时间点是否相同

public boolean equals(Object obj)

设置 Date 对象代表的时间

public void setTime(long time)

以字符串形式输出当前日期(与直接输出对象的效果相同)

public String toString()

三、Calendar类

Calendar 是一个抽象的基类,GregorianCalendar 为其一个具体子类。

1,构造方法

(1)Calendar calendar = Calendar.getInstance();

使用默认时区和语言环境获得一个日历,其代表的时间为当前系统时间。

(2)Calendar calendar = new GregorianCalendar();

使用子类获得一个日历,其代表的时间为当前系统时间。

2,常量说明

3,常用方法

(1)get( field: int) : int

返回一个给定日历域的值

Calendar calendar = Calendar.getInstance();//利用系统当前时间创建一个日历对象

System.out.println(calendar.get(Calendar.YEAR)); //获得当前年份

System.out.println(calendar.get(Calendar.MONTH)); //获得当前月份

System.out.println(calendar.get(Calendar.DATE)); //当前时间是当前月的第几天

System.out.println(calendar.get(Calendar.HOUR)); //当前是几点

System.out.println(calendar.get(Calendar.HOUR_OF_DAY)); //当前是当天的第几小时

System.out.println(calendar.get(Calendar.DAY_OF_WEEK)); //当前天是当前周中的第几天

System.out.println(calendar.get(Calendar.DAY_OF_MONTH)); //当前天是当前月的第几天

System.out.println(calendar.get(Calendar.DAY_OF_YEAR)); //当前天是当前年的第几天

System.out.println(calendar.get(Calendar.WEEK_OF_MONTH)); //当前周是当前月的第几周

System.out.println(calendar.get(Calendar.WEEK_OF_YEAR)); //当前周是当前年的第几周

假设当前日期为 “2020年 11月 12日 周四 上午 09:18:46”,则输出如下:

2020 //表示是2020年

10 //表示是11月(0代表一月)

12 //表示是12号

9 //表示是9点

9 //表示当前时间是当天的第九个小时

5 //表示是当前周的第五天,即周四(1代表周日)

12 //表示是当前月的第12天

317 //表示是当前年的第317天

2 //表示是当前月的第二周

46 //表示是当前年的第46周

(2)getTime() : Date

返回代表当前具体时间的对应 Date 对象

Calendar calendar = Calendar.getInstance();

System.out.println(calendar.getTime());

假设当前日期为 “2020年 11月 12日 周四 上午 09:56:28”,则输出如下:

Thu Nov 12 09:56:28 CST 2020

(3)set( field: int, value: int) : void

设置日历对象的时间值

Calendar calendar = Calendar.getInstance(); //获取当前时间

System.out.println(calendar.getTime());

calendar.set(Calendar.HOUR, 1); //将calendar对象的 HOUR 量改为 1

System.out.println(calendar.getTime());

假设当前日期为 “2020年 11月 12日 周四 上午 10:05:14”,则输出如下:

Thu Nov 12 10:05:14 CST 2020

Thu Nov 12 01:05:14 CST 2020 //更改后小时的数值从10变为1

Calendar calendar = Calendar.getInstance();

System.out.println(calendar.getTime());

calendar.set(Calendar.DAY_OF_YEAR, 1); //将calendar对象所代表的日期改为当前年的第一天

System.out.println(calendar.getTime());

假设当前日期为 “2020年 11月 12日 周四 上午 10:05:14”,则输出如下:

Thu Nov 12 10:07:53 CST 2020

Wed Jan 01 10:07:53 CST 2020 //日期变为2020年的第一天,具体的时、分、秒没有变

Calendar calendar = Calendar.getInstance();

System.out.println(calendar.getTime());

calendar.set(Calendar.WEEK_OF_MONTH, 1); //将当前周改为当前月的第一周

System.out.println(calendar.getTime());

假设当前日期为 “2020年 11月 12日 周四 上午 10:12:01”,则输出如下:

Thu Nov 12 10:12:01 CST 2020

Thu Nov 05 10:12:01 CST 2020 //将当前周改为第一周,月份和具体的星期几不变

(4)更多的set方法

<1> set (int year, int month, int date) : void

设置日历字段中的值 YEAR , MONTH和 DAY_OF_MONTH 。

<2> set (int year, int month, int date, int hourOfDay, int minute)

设置日历字段中的值 YEAR , MONTH , DAY_OF_MONTH , HOUR_OF_DAY和 MINUTE 。

<3> set (int year, int month, int date, int hourOfDay, int minute, int second)

设置字段中的值 YEAR , MONTH , DAY_OF_MONTH , HOUR_OF_DAY , MINUTE和 SECOND 。

<4> setTime (date: Date) : void

用给定的 Date 对象来设置该日历的时间值

(5)add(field: int, amount: int) : void

对给定的日历域增加或减去给定数目的时间

Calendar calendar = Calendar.getInstance();

System.out.println(calendar.getTime());

calendar.add(Calendar.HOUR, 1); //将当前的小时加一

System.out.println(calendar.getTime());

假设当前日期为 “2020年 11月 12日 周四 上午 10:24:25”,则输出如下:

Thu Nov 12 10:24:25 CST 2020

Thu Nov 12 11:24:25 CST 2020 //10点变成了11点

Calendar calendar = Calendar.getInstance();

System.out.println(calendar.getTime());

calendar.add(Calendar.WEEK_OF_MONTH, 2); //将当前时间向后推后两周

System.out.println(calendar.getTime());

假设当前日期为 “2020年 11月 12日 周四 上午 10:28:06”,则输出如下:

Thu Nov 12 10:28:06 CST 2020

Thu Nov 26 10:28:06 CST 2020 //推后两周即加了14天,所以12号变成了26号

Calendar calendar = Calendar.getInstance();

System.out.println(calendar.getTime());

calendar.add(Calendar.YEAR, -2); //将当前时间向前推前两年

System.out.println(calendar.getTime());

假设当前日期为 “2020年 11月 12日 周四 上午 10:30:12”,则输出如下:

Thu Nov 12 10:30:12 CST 2020

Mon Nov 12 10:30:12 CST 2018 //2020年变成了2018年,具体星期几也发生了变化

java 假设当前时间_Java中与日期和时间相关的类和方法相关推荐

  1. java中定义一个时间_Java中的日期和时间

    根据个人目前正在编写的<Java核心编程-基础篇>的规划,这部分属于第15章内容,这里沿用了书中的章节编号.另外,因为原文篇幅太长,这里适当做了删减. 15.1.概述 在 Java 8 之 ...

  2. java equals重写原则_java中为何重写equals时必须重写hashCode方法详解

    前言 大家都知道,equals和hashcode是java.lang.Object类的两个重要的方法,在实际应用中常常需要重写这两个方法,但至于为什么重写这两个方法很多人都搞不明白. 在上一篇博文Ja ...

  3. java按钮添加事件_java中添加按钮并添加响应事件的方法(推荐)

    关于java容器,面板等自行百度学一下吧 private button loginbtn = new button("登陆"); final static jframe buyer ...

  4. java数组循环扩容_Java中实现数组动态扩容的两种方法

    Java中实现数组动态扩容的两种方法 java中初始化一个数组需要定义数组的容量,而在我们使用数组时往往会遇到数组容量不够的情况,此时我们就需要通过动态扩容的方式来来根据需求扩大数组的容量. 我们可以 ...

  5. java如何遍历字典_Java中如何遍历Map对象的4种方法

    在Java中如何遍历Map对象 How to Iterate Over a Map in Java 在java中遍历Map有不少的方法.我们看一下最常用的方法及其优缺点. 既然java中的所有map都 ...

  6. java获取键盘整数_Java中从键盘输入多个整数的方法

    例题:求数列的和 分别输入两个整数n,m,中间以空格隔断,n 为数列第一项,后面各项均为前一项的开根号,求前m项的和. 第一种从键盘输入并读取的方式:sc.hasNextInt() 函数和sc.nex ...

  7. java 假设当前时间_java——推断日期是否在今天之前

    这里说的日期是指字符串的日期格式,如"2014-10-15",我们要推断这个日期是否在今天之前,网上看到好多推断的方法,都是拿这个日期转换成Date对象 然后与new Date() ...

  8. java 获得当前时间_JAVA中获取当前系统时间

    一. 获取当前系统时间和日期并格式化输出: import java.util.Date; import java.text.SimpleDateFormat; public class NowStri ...

  9. java date当前时间_JAVA中获取当前系统时间

    一. 获取当前系统时间和日期并格式化输出: import java.util.Date; import java.text.SimpleDateFormat; public class NowStri ...

最新文章

  1. 这就是我为什么推荐使用var aa = for (var i = 0, l = aa.length; i < l; i++) {var a = aa[i];}循环的原因,每秒最快可以执行4000+次!
  2. Shell-流程控制
  3. python3.7.2 pip 出现locations that require TLS/SSL异常处理方法
  4. maven web工程用MyEclipse Deploy后tomcat下无文件
  5. Distance metric learning
  6. python中对多态和多态性的理解
  7. Android保存自定义路径的图片的一些问题
  8. 详解CSS三大特性之层叠性、继承性和重要性——Web前端系列学习笔记
  9. 【渝粤教育】广东开放大学 21秋期末考试 公共政策学10855K1
  10. 95后女孩成最年轻“航天人”,团队里女孩占一半,老一辈退休年轻人挑大梁啦...
  11. Linux常用命令(持续更新)
  12. uva-10341-二分法
  13. 如何配置Mybatis?(详解)
  14. vim编辑器及目录结构
  15. MongoDB——客户端Robo 3T v1.4.3 安装
  16. 计算机密码忘了 开不了机怎么办,开机密码忘了怎么办
  17. 排列组合 C语言函数,排列组合(C递归版)
  18. 解决宿舍路由器校园网共享登陆问题
  19. 使用flex让父盒子内子盒子自适应宽度
  20. 电容的种类与用途,基本知识

热门文章

  1. python曲线拟合预测_用python做曲线拟合
  2. 实验楼 linux内核原理与分析,《Linux内核原理与分析》第一周作业 20189210
  3. linux主机熵值过小,tomcat在linux启动应用慢解决方式
  4. arm9 安装java_QT5.7 AM1808 ARM9的交叉编译
  5. a==b和a.equals(b)的区别
  6. SpringBoot————快速搭建springboot项目
  7. Java 集合Collection常见知识点汇总~
  8. javaweb通过接口来实现多个文件压缩和下载(包括单文件下载,多文件批量下载)
  9. linux java 环境配置_linux下java开发环境配置
  10. (哈希)两数之和(leetcode 1)