java相关日期函数

薄洪涛2年前JAVA2137

JDK7

Data

// 1.创建当前时间
Date d1 = new Date();
System.out.println(d1);

// 2.指定时间
Date d2 = new Date(1000L);
System.out.println(d2);

// 3.修改时间
d2.setTime(2000L);
System.out.println(d2);

// 4.获取毫秒值
long time = d2.getTime();
System.out.println(time);


SimpleDateFormat

image.png

image.png

Date d2 = new Date(1000L);
System.out.println(d2);
// 无参构造
SimpleDateFormat sdf = new SimpleDateFormat();
String formatD2 = sdf.format(d2);
// 有参数构造,传入时间格式
SimpleDateFormat sdfFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String formatD22 = sdfFormat.format(d2);
System.out.println(formatD22);
// 解析
Date date2 = sdfFormat.parse(formatD22);
System.out.println(date2);

Calendar

代表系统当前时间的日历对象,可以单独设置,获取时间中的年月日

  1. Calendar 是一个抽象类,不可以直接创建对象,底层是根据不同的时区来获取不能的日历对象,默认表示当前时间

  2. 获取月份:范围0~11,0代表1月

  3. 获取星期: 1代表周日  2代表周一   依次类推

  4. get() 取字段中某字段信息

Calendar calendar = Calendar.getInstance();
// 纪元
System.out.println(calendar.get(0));
// 年
System.out.println(calendar.get(1));
// 月
System.out.println(calendar.get(2));
// 一年中第几周
System.out.println(calendar.get(3));
// 一月中第几周
System.out.println(calendar.get(5));
// 一月中的第几天
System.out.println(calendar.get(6));

为了方便记忆,使用常量
// 纪元
System.out.println(calendar.get(0));
// 年
System.out.println(calendar.get(Calendar.YEAR));
// 月
System.out.println(calendar.get(Calendar.MONTH));
// 一年中第几周
System.out.println(calendar.get(Calendar.WEEK_OF_YEAR));
// 一月中第几周
System.out.println(calendar.get(Calendar.WEEK_OF_MONTH));
// 一月中的第几天
System.out.println(calendar.get(Calendar.DAY_OF_MONTH));

image.png

Jdk8

JDK7 代码太麻烦,而且多线程不安全

Instant

时间戳

// 获取当前时间的Instant对象(标准时间)
Instant now = Instant.now();
System.out.println(now);
// 指定时区
ZonedDateTime nw = Instant.now().atZone(ZoneId.of("Asia/Shanghai"));
System.out.println(nw);
// 昨天
Instant yesterday = Instant.now().minusSeconds(86400);
System.out.println(yesterday);
// 比较
System.out.println(now.isAfter(yesterday));

DateTimeFormatter

用于时间的格式化和解析

LocalDate

LocalTime

LocalDateTime


相关文章

基于dubbo改造现有http调用项目

使用zooker作为注册中心,将现有通过http调用的项目改造成dubbo调用公共项目规定接口public interface OrderService {  ...

RabbitMq交换机类型

RabbitMq交换机类型

direct路由键和队列名完全匹配,才可以消费如果绑定时设置了routing key为”abc”,那么客户端提交的消息,只有设置了key为”abc”的才会投递到队列fanout还有一种不需要key的,...

微信H5支付安卓提示"商家参数格式有误请联系商家解决"

微信H5支付安卓提示"商家参数格式有误请联系商家解决"

今天遇到一个恼火的问题,我们对接微信的H5支付,采用了前后端分离,后端接口返回了支付的url,ios正常唤起微信支付,android却始终提示商家参数格式有误请联系商家解决,如图按照微信提供的文档,我...

spring中什么情况下事务会失效?

事务失效的场景?权限问题,@Transactional 修饰的方法必须为public方法用final修饰或者是static方法,spring事务底层使用了aop,也就是通过jdk动态代理或者cglib...

Springboot+Kotlin的搭建

Springboot+Kotlin的搭建

不少公司觉得php的性能较低,于是采用java做逻辑处理,php做表现层的做法,个人觉得对于业务量比较复杂,安全性要求较高的项目,可以采用此类做法;于是我学着搭建了一个基于spring boot的接口...

spring循环依赖

spring循环依赖

什么是循环依赖? 很简单,就是A对象依赖了B对象,B对象依赖了A对象在Spring中,⼀个对象并不是简单new出来了,⽽是会经过⼀系列的Bean的⽣命周期,就是因为 Bean的⽣命周期所以才会出现循环...

评论列表

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。