文章目录
一、简介
二、使用
1、获取当前时间的毫秒值
2、获取当前的时间
3、获取当前的日期(相对于月)
4、SimpleDateFormat中格式化字符的含义
5、YYYY与yyyy区别
三、JDK1.8中Date/Time API使用
1、LocalDate
2、LocalTime
3、LocalDateTime
四、Calendar的简单使用
1、得到相关日期元素
2、设置日期
3、日期计算(增加和减去日期)
4、日历对象和时间对象转化
5、String类型转为Calendar类型
一、简介
使用到的时间类有:

System.currentTimeMillis():

System.currentTimeMillis()产生一个当前的毫秒,这个毫秒其实就是自1970年1月1日0时起的毫秒数,类型为long;
Date:

类 Date 表示特定的瞬间,精确到毫秒。

从 JDK 1.1 开始,应该使用 Calendar 类实现日期和时间字段之间转换,使用 DateFormat 类来格式化和解析日期字符串。Date 中的相应方法已废弃。
Calendar:

Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法;

主要是用的是get方法:

get(int field)    返回给定日历字段的值。
1
其中传入的主要参数为:

HOUR_OF_DAY        一天中某个小时;

DAY_OF_WEEK        一个星期中的某天;
DAY_OF_MONTH    一个月中的某天;
DAY_OF_YEAR        当前年中的天数;

WEEK_OF_MONTH    当前月中的星期数;
WEEK_OF_YEAR    当前年中的星期数;
1
2
3
4
5
6
7
8
二、使用
1、获取当前时间的毫秒值
System.currentTimeMillis()

long timeNow = System.currentTimeMillis();
System.out.println(timeNow);
1
2
Date(不推荐使用)

Date date = new Date()getTime();
System.out.println(timeNow);
1
2
2、获取当前的时间
System.currentTimeMillis()(yyyy)

long time = System.currentTimeMillis();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd:HH-mm-ss");
String day = dateFormat.format(time);
System.out.println(day);
1
2
3
4
Date

Date date = new Date();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd:HH-mm-ss");
String day = dateFormat.format(date);
System.out.println(day);
1
2
3
4
3、获取当前的日期(相对于月)
long timeMillis = System.currentTimeMillis();
SimpleDateFormat format = new SimpleDateFormat("dd");
String dayOfMonth = format.format(timeMillis);
System.out.println(dayOfMonth);
1
2
3
4
Calendar

Calendar instance = Calendar.getInstance();
int dayOfMonth = instance.get(Calendar.DAY_OF_MONTH);
System.out.println(dayOfMonth);
1
2
3
4、SimpleDateFormat中格式化字符的含义

5、YYYY与yyyy区别
日期格式化时,yyyy表示当天所在的年,而大写的YYYY代表是week in which year(JDK7之后引入的概念),意思是当天所在的周属于的年份,一周从周日开始,周六结束,只要本周跨年,返回的YYYY就是下一年。

new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
1
若当天为2017/12/31,执行结果为2018/12/31。(本周跨越了2017年和2018年)

三、JDK1.8中Date/Time API使用
Java 8提供了一个全新的API,用以替换java.util.Date和java.util.Calendar。Date / Time API提供了多个类,包括:

LocalDate
LocalTime
LocalDateTime
ZonedDateTime
1、LocalDate
LocalDate只是一个日期,没有时间。 这意味着我们只能获得当前日期,但没有一天的具体时间。

LocalDate localDate = LocalDate.now();
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("YYYY-MM-dd");
String date = localDate.format(dateTimeFormatter);
System.out.println(dateTime);2020-01-11
1
2
3
4
结果为:

2020-01-11
1
2、LocalTime
LocalTime与LocalDate相反,它只代表一个时间,没有日期。 这意味着我们只能获得当天的当前时间,而不是实际日期:

LocalTime localTime = LocalTime.now();
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("HH:mm:ss");
String time = localTime.format(dateTimeFormatter);
System.out.println(time);
1
2
3
4
结果为:

14:20:43
1
获取今年的天数

int daysOfThisYear = LocalDate.now().lengthOfYear();
1
获取指定某年的天数

LocalDate.of(2011, 1, 1).lengthOfYear();
1
3、LocalDateTime
最后一个是LocalDateTime,也是Java中最常用的Date / Time类,代表前两个类的组合 - 即日期和时间的值:

LocalDateTime localDateTime = LocalDateTime.now();
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("YYYY-MM-dd:HH:mm:ss");
String dateTime = localDateTime.format(dateTimeFormatter);
System.out.println(dateTime);
1
2
3
4
结果为:

2020-01-11:14:22:37
1
四、Calendar的简单使用
1、得到相关日期元素
Calendar c1 = new GregorianCalendar();
int year = c1.get(Calendar.YEAR);
1
2
Calendar中常用参数

Calendar.YEAR
Calendar.MONTH
Calendar.WEEK_OF_YEAR
Calendar.WEEK_OF_MONTH
Calendar.DATE
Calendar.DAY_OF_MONTH
Calendar.DAY_OF_YEAR
Calendar.DAY_OF_WEEK
Calendar.DAY_OF_WEEK_IN_MONTH
Calendar.AM_PM
Calendar.HOUR
Calendar.HOUR_OF_DAY
Calendar.MINUTE
Calendar.SECOND
Calendar.MILLISECOND
Calendar.ZONE_OFFSET
Calendar.DST_OFFSET
Calendar.FIELD_COUNT
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2、设置日期
Calendar c = new GregorianCalendar();
c.set(Calendar.YEAR,8000);
1
2
3、日期计算(增加和减去日期)
Calendar c = new GregorianCalendar();
c.add(Calendar.YEAR,-30);
1
2
4、日历对象和时间对象转化
Calendar c = new GregorianCalendar();
c.setTime(new Date());
1
2
5、String类型转为Calendar类型
String str="2020-10-10";
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
Date date = df.parse(str);
Calendar c = new GregorianCalendar();
c.setTime(date);
1
2
3
4
5

————————————————
版权声明:本文为CSDN博主「ha_lydms」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/lydms/article/details/103937041

java获取当前日期和时间(各种方法对比)相关推荐

  1. java获取当前日期和时间的二种方法分享

    有两种方法: 方法一:用java.util.Date类来实现,并结合java.text.DateFormat类来实现时间的格式化,看下面代码: import java.util.*; import j ...

  2. python 获取当前日期和时间_python获取当前日期和时间的方法

    本文实例讲述了python获取当前日期和时间的方法.分享给大家供大家参考.具体如下: import datetime # Get a datetime object now = datetime.da ...

  3. Java获取当前日期和时间

    文章目录 1. System.currentTimeMillis() 2. Java.util.Date 3. Calendar API 4. Date/Time API 4.1 LocalDate ...

  4. Java 获取当前日期和时间

    有两种方法: 方法一:用java.util.Date类来实现,并结合java.text.DateFormat类来实现时间的格式化,看下面代码: import java.util.; import ja ...

  5. python 获取当前日期和时间,Python中获取当前日期和时间的方法详解

    在Python语言里,我们可以通过调用什么模块或者类函数来得到当前的时间或日期呢?本文就将和大家一起来扒一扒这部分内容,一起来看看吧. 当然你可以使用时间模块(time module),该模块提供了各 ...

  6. java获取当前日期时间代码

    1.获取当前时间,和某个时间进行比较.此时主要拿long型的时间值. 方法如下: 要使用 java.util.Date .获取当前时间的代码如下 代码如下   Date date = new Date ...

  7. java获取数据库当前时间_java中获取系统的当前时间

    转自:http://www.cnblogs.com/Matrix54/archive/2012/05/01/2478158.html 一. 获取当前系统时间和日期并格式化输出: import java ...

  8. java 获取当前系统时间 时间比较

    JAVA获得当前时间的几种方法 一. 获取当前系统时间和日期并格式化输出: import java.util.Date; import java.text.SimpleDateFormat; publ ...

  9. Java获取系统当前时间

    本篇文章帮大家学习java获取系统当前时间,包含了Java获取系统当前时间使用方法.操作技巧.实例演示和注意事项,有一定的学习价值,大家可以用来参考. 以下实例演示了如何使用 Date 类及 Simp ...

最新文章

  1. 洛谷题单的Python版题解(有需要的小伙伴可以来看看哦~!)
  2. ansible roles和django项目的整合
  3. 【转】【UML】使用Visual Studio 2010 Team System中的架构师工具(设计与建模)
  4. 将一句话的单词进行倒置,标点符号不倒换。比如一句话:“i love you.”倒换后变为you. love i
  5. 计蒜客 - 守望者的逃离
  6. 论文笔记 -- Contrastive Clustering(对比聚类)
  7. 64位 mxcomponent_三菱MX Component 4.16S下载
  8. Vue中使用pdf.js通过流的方式传参给pdfviewer.html
  9. CAN(FD)收发器选型及替换指南(一)
  10. 认识CodeSmith
  11. Adobe CC 2015全系列产品下载 PS DW AE等 附注册机补丁
  12. http status failed,jsp页面加载完了,但是浏览器任然在转圈,页面无法操作
  13. 1.2编程基础之变量定义、赋值及转换
  14. H5游戏营销如何入手,最经典h5游戏案例盘点
  15. 接连入职五位博士,云和恩墨到底在搞什么大事情?
  16. 手机个人邮箱怎么注册,手机邮箱注册登录
  17. 电脑如何用rdp协议登录服务器,RDP(远程桌面协议).ppt
  18. dg和ogg的区别--oracle数据库
  19. Spring中用到的设计模式
  20. amd k14主板参数_amd k14主板能换cpu吗?

热门文章

  1. 黑马程序员——C基础之迷宫游戏
  2. 系统架构系列 (三):业务架构实战上篇
  3. Android开发之少去踩坑,多走捷径【转】
  4. gt,gte,lt,lte 用法
  5. eq,neq,gt,gte,lt,lte转义含义
  6. 通过一个最简单的HTTP服务器工具软件(如http文件服务器-hfs2),建立一个临时的HTTP文件服务,使能通过手机浏览器等访问下载你的计算机中指定的文件
  7. Linux常用命令及参数(1)
  8. Android Studio 运行java程序
  9. computed使用场景
  10. python0x452_Python(变量、数据类型)