Java 时间日期API总结
Date类 java.util.Date包
- 常用构造方法
- Date():系统当前时间
- Date(long time) :以标准基准时间,毫秒计生成时间
常用方法
- boolean after(Date when):测试此日期是否在指定日期(Date when)之后;
- boolean before(Date when):测试此日期是否在指定日期之前;
- int compareTo(Date anotherDate):比较两个日期顺序;(相等返回0,在anotherDate之前返回负数,在anotherDate之后返回正数);
- boolean equals(Object object):比较两个日期的相等性(相同long值);
- long getTime():得到标准基准时间的毫秒;
- void setTime(long time):设置时间;
public class DateDemo {public static void main(String[] args) {Date now = new Date();System.out.println(now);//Date -> Longlong nowLong = now.getTime();System.out.println(nowLong);//Long -> DateDate yesterday = new Date(nowLong-24*60*60*1000);System.out.println(yesterday);Date lastYear = new Date();long day = 24*60*60*1000; lastYear.setTime(nowLong-(365*day));System.out.println(lastYear);System.out.println(now.after(yesterday));System.out.println(now.before(yesterday));System.out.println(now.compareTo(yesterday));System.out.println(now.compareTo(now));System.out.println(lastYear.compareTo(now));System.out.println(lastYear.equals(now));System.out.println(now.equals(now));Date d1 = new Date();Date d2 = new Date();d1.setTime(d2.getTime());System.out.println(d1.equals(d2));} }
SimpleDateFormat类 java.text.SimpleDateFormat包
格式化日期:格式化字符:y :年、M:月、d:日、H:小时、m:分钟、s:秒、S:毫秒;
常用构造方法
- SimpleDateFormat(String format);
常用方法
- Date parse(String fromat):将字符串转换为Date类;
- String format(Date time):将日期按照给定format格式转换为字符串;
public class SimpleDateFormatDemo {public static void main(String[] args) {SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss");String nowDateStr = sdf.format(new Date());System.out.println(nowDateStr);} }
Calendar类 java.util.Calendar包
常用方法
- static Caledar getInstance():获得Calendar实例;
- set(Calendar.字段,int date):设置某个字段值;
- add(Calendar.字段,int number):为某个字段增加一个值;
- Date getTime():将Calendar转换为Date;
- setTime(Date time):将Date转换为Calendar
public class CalendarDemo {public static void main(String[] args) throws ParseException {//获得实例Calendar calendar = Calendar.getInstance();//设置某个字段的值calendar.set(Calendar.YEAR, 1946);//为某个字段加上一个值calendar.add(Calendar.YEAR, 3);//Calendar => DateDate date = calendar.getTime();System.out.println(date);calendar.set(Calendar.MONTH,Calendar.MARCH);System.out.println(calendar.getTime());//Date => CalendarCalendar c = Calendar.getInstance();SimpleDateFormat sdf = new SimpleDateFormat("yyyy");Date d = sdf.parse("1938");c.setTime(d);System.out.println(c.getTime());System.out.println(DateUtil.addDay(d, -3));System.out.println(DateUtil.format(c.getTime()));} }
时间工具类
package com.chinasofti.se.api.homework;import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;ndar.MONTH, monthes);return c1.gepublic class DateUtil {public static final String DATE_PATTERN = "yyyy-MM-dd HH:mm:ss";/*** 添加天数* @param date1* @param days* @return*/public static Date addDay(Date date1, int days) {Calendar c1 = Calendar.getInstance();c1.setTime(date1);c1.add(Calendar.DAY_OF_MONTH, days);return c1.getTime(); }/*** 添加月数* @param date1* @param monthes* @return*/public static Date addMonth(Date date1, int monthes) {Calendar c1 = Calendar.getInstance();c1.setTime(date1);c1.add(CaletTime(); }/*** 添加年数* @param date1* @param years* @return*/public static Date addYear(Date date1, int years) {Calendar c1 = Calendar.getInstance();c1.setTime(date1);c1.add(Calendar.YEAR, years);return c1.getTime(); }/*** 格式化日期* @param date* @return*/public static String formatDate(Date date){SimpleDateFormat sdf1 = new SimpleDateFormat("今天是yyyy年MM月dd日,还记得去年今日。。。");return sdf1.format(date);}public static String formatDate(Date date, String str){SimpleDateFormat sdf1 = new SimpleDateFormat(str);return sdf1.format(date);}public static String formatShort(Date date){SimpleDateFormat sdf1 = new SimpleDateFormat("MM-dd-yyyy HH:mm:ss");return sdf1.format(date);}/*** 解析日期* @param dateString* @return * @throws ParseException */public static Date parseCal(String dateString){SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");try {return sdf2.parse(dateString);} catch (ParseException e) {e.printStackTrace();}return null;}public static Date parseCal(String dateString, String str){SimpleDateFormat sdf2 = new SimpleDateFormat(str);try {return sdf2.parse(dateString);} catch (ParseException e) {e.printStackTrace();}return null;}/*** 比较两个日期* @param date1* @param date2* @return*/public static Date compare(Date date1, Date date2){return (date1.compareTo(date2))>0?date1:date2;}/*** 计算两个日期相差的天数* @param date1* @param date2* @return*/public static long subduction(Date date1, Date date2){long day=24*60*60*1000;long l = date1.getTime()-date2.getTime();return Math.abs(l)/day;}
}
Java 时间日期API总结相关推荐
- Spring Boot和Feign中使用Java 8时间日期API(LocalDate等)的序列化问题
LocalDate. LocalTime. LocalDateTime是Java 8开始提供的时间日期API,主要用来优化Java 8以前对于时间日期的处理操作.然而,我们在使用Spring Clou ...
- feign 序列化_Spring Boot和Feign中使用Java 8时间日期API(LocalDate等)的序列化问题...
LocalDate.LocalTime.LocalDateTime是Java 8开始提供的时间日期API,主要用来优化Java 8以前对于时间日期的处理操作.然而,我们在使用Spring Boot或使 ...
- java8 - 新的时间日期API示例
Java 8之前的库对时间和日期的支持非常不理想,不用担心,在Java 8中引入全新的时间和日期API,并且都是线程安全的 新时间日期API常用对象介绍 LocalDate: 表示没有时区的日期, L ...
- JDK8 after时间日期api
参考:https://zq99299.github.io/java-tutorial/datetime/iso/ 介绍 简介 为了解决这些问题并在JDK内核中提供更好的支持,针对Java SE ...
- JDK8新特性(五):JDK8时间日期API
本文目录: 前言 1.旧版日期时间API存在的问题 2.新日期时间 API 介绍 3.用法介绍 1.JDK8 日期和时间类 2.JDK8 日期时间格式化与解析 3.JDK8 Instant 类 4.J ...
- java向MySQL插入当前时间的四种方式和java时间日期格式化的几种方法(案例说明)...
转载地址:http://www.devba.com/index.php/archives/4581.html java向MySQL插入当前时间的四种方式和java时间日期格式化的几种方法(案例说明); ...
- java时间,日期,毫秒值,String的相互转换总结
java时间日期的各种转换总结以及应用实例 由于工作中经常要用到时间,日期,以及当前时间的毫秒值等 很多时候涉及到了它们之间的相互转换,今天就好好的总结一下. 首先基本介绍一下java中有关时间,日期 ...
- mysql java 日期格式化_(转)java向MySQL插入当前时间的四种方式和java时间日期格式化的几种方法(案例说明)...
java向MySQL插入当前时间的四种方式和java时间日期格式化的几种方法(案例说明);部分资料参考网络资源 1. java向MySQL插入当前时间的四种方式 第一种:将java.util.Date ...
- java时间日期格式化和JDBC中的处理
java时间日期格式化和JDBC中的处理 时间格式化类 SimpleDateFormat类 字符串格式化为时间对象 .parse()方法 时间对象格式化为字符串 .format()方法 DateTim ...
最新文章
- antd Tree 展开和默认选中
- Linux中变量#,#,@,0,0,1,2,2,*,$$,$?的含义
- Shell命令-管理与性能监视之strace、ltrace
- Spring Cloud构建微服务架构(二)服务消费者
- es创建索引库,无法使用InetSocketTransportAddress
- python客户端修改session_python中flask的Session设置的方法介绍
- C语言:--位域和内存对齐
- css实现鼠标覆盖显示大图
- Android 平台电容式触摸屏的驱动基本原理
- 三维数据平滑处理_黑白象片的密度信息 卫星数据处理 遥感制图 三维建模 善图科技...
- 看看别人用什么:最佳网管工具点评
- 图解DbgView使用
- 流媒体RTMP协议解析
- 微信朋友圈限时推广微视,腾讯对短视频志在必得?
- 在Win7上安装TexLive及设置XeLaTeX的整个过程
- 3d设计计算机配置,专业设计师选什么电脑配置?2018年专业3D建模渲染电脑配置推荐(2)...
- 一文数学数模-相关性分析(二)斯皮尔曼相关(spearman)相关性分析一文详解+python实例代码
- Initramfs unpacking failed:junk in compressed archive
- 报表增删改开发过程中知识整合
- 不得不说的SD2.0
热门文章
- 如何修改 Kubernetes 节点 IP 地址?
- 背景差法目标识别python_运动目标检测(4)—背景差分法
- 你同学都身价上亿了,你还在纠结早晨几点能起床
- PyQt(Python+Qt)学习随笔:QTreeWidgetItem项列图标的访问方法
- hbase和es在搜索场景的应用
- 8583协议深入理解 1
- revit模型怎么在手机上看_e建筑手机版下载-e建筑(轻松查看CAD图纸和BIM模型)1.2.4 官方苹果版-东坡下载...
- JDBC与ODBC的区别与应用
- 捕捉“五一劳动节”海报设计灵感
- 单片机红绿灯加强版(kile仿真程序和protues硬件仿真)