Java日期相关操作

作者: Coffeelong | 来源:发表于2017-06-22 14:00 被阅读0次
1. Date

大多数方法已经废弃,目前保留且常用的方法如下:

//获取当前时间
Date date = new Date();
//设定时间
Date date = new Date(long time);
//获取long类型表示时间
long time = date.getTime();
//设定时间
date.setTime(long time);
//检测时间是否延迟于when
boolean result = date.after(Date when);
//检测时间是否提前于when
boolean result = date.before(Date when);
2. Calendar

推荐使用Calendar来进行比较复杂的日期计算,使用方法也相对简单。

//创建Calendar
Calendar calendar = Calendar.getInstance();
//获取时间,返回类型为Date
Date date = calendar.getTime();
//设定时间,参数类型为Date
calendar.setTime(new Date());

通常使用Calendar来对日期进行延后或追溯,例如获取当前日期的前几天或者后几天日期,Calendar提供了便捷的方法可以获取到指定日期,包括月份、星期等具体日期。

//1. 获取当前日期前三个星期的日期
Calendar calendar = Calendar.getInstance();
//-3表示向前推,WEEK_OF_MONTH则表示是以周单位进行日期回溯,
//Caldendar提供了多种时间单位,可以根据需要使用
calendar.add(Calendar.WEEK_OF_MONTH, -3);
Date hisDate = calendar.getTime();
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
System.out.println("today date:" + sdf.format(new Date()) + "\nhistory week date:" + sdf.format(hisDate));
//2. 获取当前日期前三个星期的星期五的日期
calendar.add(Calendar.DAY_OF_WEEK, Calendar.FRIDAY);
hisDate = calendar.getTime();
System.out.println("today date:" + sdf.format(new Date()) + "\nhistory week date:" + sdf.format(hisDate));
3 . 日期类型转化

实际应用中日期的习惯表示方式一般为String或Long类型,因此Java中提供了日期类型转化方式。

//格式自定义,例如:yyyy-MM-dd、yyyy-MM-dd hh:mm:ss
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
String date = sdf.format(hisDate);
//将自己的日期格式转换为Date类型
String time = "20170615";
date = sdf.parse(time);

Java提供了Date类型与String类型的相互转换,但是实际中Date类型所能计算的日期功能有限,因此一般使用Calendar进行复杂的日期计算,然后将Calendar转换为Date,再进一步将Date转换为自己需要的格式类型。

//日期类型转换方式
Date   -------------> String  use SimpleDateFormat format(Date date)
Date   <------------- String  use SimpleDateFormat parse(String date)

Calendar -----------> Date use Calendar getTime()
Calendar <----------- Date use Calendar setTime(Date date)

相关文章

  • Java日期相关操作

    1. Date 大多数方法已经废弃,目前保留且常用的方法如下: 2. Calendar 推荐使用Calendar来...

  • JS、JAVA、MYSQL时间日期

    --文章内容总结了包括JS、JAVA、MYSQL从前端到数据库的所有日期相关常用操作,包括日期格式化和日期计算以及...

  • java日期操作

    Calendar类

  • 日期相关的操作

    pubtime = '2016-3-20' pubtime = time.strptime(pubtime, '%...

  • 2021-09-13

    1.日期相关操作

  • java日期周相关

    前段时间,17年11月份,化工项目中,客户提出要有按周统计的报表。所以搜了下日期中周相关的资料整合下。 有两个属性...

  • Java 日期相关问题

    本文最早收集整理自骆昊的技术专栏,感谢他的分享,放在这里只为了写代码的时候方便参考。后面本人也在不断收集添加其他有...

  • java 日期处理相关

    备忘用(๑•̀ㅂ•́)و✧ Date 基本只剩下这三个不过时且常用的。 Calendar SimpleDateFo...

  • java日期相关处理

    1.去重,累加,排序 2.日期相关操作 ``` python import tensorflow as tf pr...

  • 1.1 系统日期相关操作

    原文章地址https://blog.csdn.net/cxws110/article/details/799748...

网友评论

    本文标题:Java日期相关操作

    本文链接:https://www.haomeiwen.com/subject/juhfcxtx.html