java常用类-日期相关的类

java.util.Date

public class Test01 {// 这是main方法,是实现程序主要逻辑public static void main(String[] args) {Date d = new Date();System.out.println(d);// Sun Dec 20 16:51:08 CST 2020System.out.println(d.toString());// Sun Dec 20 16:51:08 CST 2020System.out.println(d.toGMTString());//20 Dec 2020 08:51:08 GMT // 本初子午线的时间,方法中加了一个横线,意思是过期方法,过时方法,现在不建议使用System.out.println(d.toLocaleString()); // 2020-12-20 16:51:08System.out.println(d.getYear());// 120 这个获取的年份是当前年份减去1900的结果System.out.println(d.getMonth());// 11 这个月份是0至11之间,所以12月获取的结果是11System.out.println(d.getTime());// 1608454657031 时间戳 表示自1970年1月1日00:00:00 GMT 以来的毫秒数System.out.println(System.currentTimeMillis());// 1608454657095  这个方法与Date的getTime方法类似,都是返回时间戳long startTime = System.currentTimeMillis();for (int i = 0; i < 10000; i++) {System.out.println(i);}long endTime = System.currentTimeMillis();System.out.println(endTime - startTime);}
}

java.sql.Date

public class Test02 {// 这是main方法,是实现程序主要逻辑public static void main(String[] args) {// java.sql.DateDate d = new Date(1608454657031L);System.out.println(d);// java.sql.Date 与 java.util.Date相互转换// util.Date 转 sql.Datejava.util.Date date = new Date(1608454657031L);// 向下转型Date Date1 = (Date)date;// 创建新对象Date Date2 = new Date(date.getTime());// sql 转 utiljava.util.Date date3 = d;// String 转sql.DateDate date4 = Date.valueOf("2020-12-15");}
}

SimpleDateFormat

  • 定义日期时间的格式,可以转换String与Date数据类型
public class Test04 {// 这是main方法,是实现程序主要逻辑public static void main(String[] args) {// 日期转换// 定义格式化的标准DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//String --> Datetry {Date d = df.parse("2020-12-12 23:12:13");System.out.println(d); // Sat Dec 12 23:12:13 CST 2020} catch (ParseException e) {e.printStackTrace();}//Date --> StringString format = df.format(new Date());System.out.println(format); // 2020-12-20 23:11:00}}

Calendar

public class Test06 {// 这是main方法,是实现程序主要逻辑public static void main(String[] args) {// calendar 是一个抽象类,不能创建对象// GregorianCalendar 是 calendarde 的子类Calendar cal = new GregorianCalendar();Calendar cal2 = Calendar.getInstance();System.out.println(cal);System.out.println("*****************************");/*java.util.GregorianCalendar[time=1608476949023,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Shanghai",offset=28800000,dstSavings=0,useDaylight=false,transitions=31,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2020,MONTH=11,WEEK_OF_YEAR=52,WEEK_OF_MONTH=4,DAY_OF_MONTH=20,DAY_OF_YEAR=355,DAY_OF_WEEK=1,DAY_OF_WEEK_IN_MONTH=3,AM_PM=1,HOUR=11,HOUR_OF_DAY=23,MINUTE=9,SECOND=9,MILLISECOND=23,ZONE_OFFSET=28800000,DST_OFFSET=0]*///常用的方法// 获取日期信息System.out.println(cal.get(Calendar.YEAR));System.out.println(cal.get(Calendar.MONTH));System.out.println(cal.get(Calendar.DATE));System.out.println(cal.get(Calendar.DAY_OF_MONTH));System.out.println("*****************************");/*2020112020*///获取当月最大与最小天数System.out.println(cal.getActualMaximum(Calendar.DATE));System.out.println(cal.getActualMinimum(Calendar.DATE));System.out.println("*****************************");/*311*/// set方法cal.set(Calendar.YEAR,1990);cal.set(Calendar.MONTH,3);cal.set(Calendar.DATE,16);System.out.println(cal);System.out.println("*****************************");/*java.util.GregorianCalendar[time=?,areFieldsSet=false,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Shanghai",offset=28800000,dstSavings=0,useDaylight=false,transitions=31,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=1990,MONTH=3,WEEK_OF_YEAR=52,WEEK_OF_MONTH=4,DAY_OF_MONTH=16,DAY_OF_YEAR=355,DAY_OF_WEEK=1,DAY_OF_WEEK_IN_MONTH=3,AM_PM=1,HOUR=11,HOUR_OF_DAY=23,MINUTE=9,SECOND=9,MILLISECOND=23,ZONE_OFFSET=28800000,DST_OFFSET=0]*/// String --> calender// String --> java.sql.Datejava.sql.Date date = java.sql.Date.valueOf("2020-7-29");// java.sql.Date --> calendercal.setTime(date);System.out.println(cal);System.out.println("*****************************");/*java.util.GregorianCalendar[time=1595952000000,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Shanghai",offset=28800000,dstSavings=0,useDaylight=false,transitions=31,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2020,MONTH=6,WEEK_OF_YEAR=31,WEEK_OF_MONTH=5,DAY_OF_MONTH=29,DAY_OF_YEAR=211,DAY_OF_WEEK=4,DAY_OF_WEEK_IN_MONTH=5,AM_PM=0,HOUR=0,HOUR_OF_DAY=0,MINUTE=0,SECOND=0,MILLISECOND=0,ZONE_OFFSET=28800000,DST_OFFSET=0]*/}
}

LocalDate / LocalTime / LocalDateTime

public class Test10 {// 这是main方法,是实现程序主要逻辑public static void main(String[] args) {// 实例化对象// now方法,获取当前的日期,时间,日期+时间LocalDate localDate = LocalDate.now();LocalTime localTime = LocalTime.now();LocalDateTime localDateTime = LocalDateTime.now();System.out.println(localDate);System.out.println(localTime);System.out.println(localDateTime);System.out.println("*******************************");/*2020-12-2023:05:37.6232020-12-20T23:05:37.623*/// of方法 设置指定的日期,时间,日期+时间LocalDate dateOf = LocalDate.of(2010, 5, 6);LocalTime timeOf = LocalTime.of(12, 45, 12);LocalDateTime dateTimrOf = LocalDateTime.of(1990, 5, 7, 13, 42, 56);System.out.println(dateOf);System.out.println(timeOf);System.out.println(dateTimrOf);System.out.println("*******************************");/*2010-05-0612:45:121990-05-07T13:42:56*/// get方法System.out.println(localDateTime.getYear());System.out.println(localDateTime.getMonth());System.out.println(localDateTime.getMonthValue());System.out.println(localDateTime.getDayOfMonth());System.out.println(localDateTime.getDayOfWeek());System.out.println(localDateTime.getHour());System.out.println(localDateTime.getMinute());System.out.println(localDateTime.getSecond());System.out.println("*******************************");/*2020DECEMBER1220SUNDAY23537*///with方法,类似与calendar中的set方法 with方法相当于重新创建了一个对象,不会对原对象做更改LocalDateTime localDateTime2 = localDateTime.withMonth(8);System.out.println(localDateTime);System.out.println(localDateTime2);System.out.println("*******************************");/*2020-12-20T23:05:37.6232020-08-20T23:05:37.623*/// 日期的加减操作 会创建新对象,原对象不会有更改LocalDateTime localDateTime3 = localDateTime.plusMonths(4);System.out.println(localDateTime);System.out.println(localDateTime3);LocalDateTime localDateTime4 = localDateTime.minusMonths(5);System.out.println(localDateTime);System.out.println(localDateTime4);/*2020-12-20T23:05:37.6232021-04-20T23:05:37.6232020-12-20T23:05:37.6232020-07-20T23:05:37.623*/}
}

DateTimeFormatter

  • 对LocalDateTime / LocalDate / LocalTime 对象进行对象与字符串之间的转换
public class Test11 {// 这是main方法,是实现程序主要逻辑public static void main(String[] args) {//格式化类: DateTimeFormatter// 方式一: ISO_LOCAL_DATE_TIME/ ISO_LOCAL_DATE / ISO_LOCAL_TIME// df1 可以完成LocalDateTime和String之间的转换DateTimeFormatter df1 = DateTimeFormatter.ISO_LOCAL_DATE_TIME;LocalDateTime now = LocalDateTime.now();// LocalDateTime --> StringString str1 = df1.format(now);System.out.println(str1); //2020-12-20T23:22:40.952// String --> LocalDateTimeTemporalAccessor parse = df1.parse("2020-12-20T23:22:40.952");System.out.println(parse); // {},ISO resolved to 2020-12-20T23:22:40.952// 方式二:ofLocalizedDateTime / ofLocalizedDate / ofLocalizedTime//参数 FormatStyle.LONG / FormatStyle.MEDIUM / FormatStyle.SHORT// FormatStyle.LONG: 2020年12月20日 下午11时28分21秒// FormatStyle.MEDIUM:2020-12-20 23:29:01// FormatStyle.SHORT: 20-12-20 下午11:29DateTimeFormatter df2 = DateTimeFormatter.ofLocalizedDateTime(FormatStyle.SHORT);// LocalDateTime --> StringString str2 = df2.format(now);System.out.println(str2);// String --> LocalDateTime  parse中的字符串格式也必须与定义的参数的格式相同TemporalAccessor parse1 = df2.parse("20-12-20 下午11:29");System.out.println(parse1); // {},ISO resolved to 2020-12-20T23:29// 方式三:自定义格式,比如ofPattern("yyyy-MM-dd hh:mm:ss")DateTimeFormatter df3 = DateTimeFormatter.ofPattern("yyyy-MM-dd hh:mm:ss");// LocalDateTime --> StringString str3 = df3.format(now);System.out.println(str3);//2020-12-20 11:34:57// String --> LocalDateTimeTemporalAccessor parse2 = df3.parse("2020-12-20 11:34:57");System.out.println(parse2);//{MinuteOfHour=34, MilliOfSecond=0, HourOfAmPm=11, MicroOfSecond=0, SecondOfMinute=57, NanoOfSecond=0},ISO resolved to 2020-12-20}
}

Java常用类--日期时间相关的类相关推荐

  1. java常用地图坐标系转换工具类,支持谷歌,腾讯,百度等主流的地理坐标转换

    package com.shen.springboot.redis.util;import java.util.ArrayList; import java.util.HashMap; import ...

  2. java常用的日期类介绍

    开发过程中,对日期的处理十分普遍,掌握常用的日期转换方法,肯定会对工作有显著提升.声明一下,我本次使用的 jdk 1.8. 先说一说常用的Date.Calendar: 1.Date 提起Date,很多 ...

  3. 【Java】7.3 基本类 7.4 Java 8 的日期、时间类

    目录 String.StringBuffer和StringBuilder类 Rondom类 BigDecimal类 Java 8 新增的日期.时间包 String.StringBuffer和Strin ...

  4. java hh24miss_时间日期转换工具类,获取当前时间YYYYMMDD24HHMISS、YYYYMMDDHHMISS

    packagecom.ztesoft.iotcmp.util;importcom.ztesoft.zsmart.core.log.ZSmartLogger;importjava.sql.Timesta ...

  5. Java常用的格式化Json工具类

    扩展:Java常用工具类汇总 文章目录 前置条件 一.数组格式json转成 `,`隔开的字符串 二.String转List<对象> 三.String转Map 四.未完待续~ 前置条件 导入 ...

  6. Java(六)——常用类 --- 日期和日历类

    Date 表示当前的日期对象,精确到毫秒值. java.util.Date类 构造方法 无参数构造方法 new Date() 有long型参数的构造方法 new Date(long 毫秒值) Date ...

  7. 几种与日期时间相关的类

    System类.Date类.DateFormat类.SimpleDateFormat类 import java.text.DateFormat; import java.text.ParseExcep ...

  8. Java 常用类库 之 Random 随机数类实例

    http://www.verejava.com/?id=169931132381103 /**知识点:Random 随机数类洗牌 */ import java.util.*;public class ...

  9. java中常用的日期工具类

    java中常用的日期工具类 日期相关的类: package net.yto.ofclacct.core.util;import java.text.ParseException; import jav ...

  10. 关于Java中的日期与时间的相关类说明详解

    文章目录 1.关于Java元年与时间戳 2.关于Date类 2.1常用API代码展示 3.关于Calendar类 3.1获取Calendar对象 3.2创建自定义的Calendar对象 3.2Cale ...

最新文章

  1. linux 数据恢复 ext3grep rm -rf
  2. 读张鸣-《辛亥:摇晃的中国》感
  3. Mono 2.0正式发布了
  4. saml2_向SAML响应中添加自定义声明–(如何为WSO2 Identity Server编写自定义声明处理程序)...
  5. 织梦html权限设置,详细的Dede织梦目录权限安全设置教程
  6. 产品经理和开发打起来了
  7. Python中fastapi关于异常或者错误的处理
  8. python在规划类专业的作用_城乡规划学Python、Gis有哪些具体的作用?
  9. csv 20位数据 如何打开可以预览完整数字_条码打印软件如何批量制作MSI Plessey码...
  10. 浏览器安装fehelper插件,亲测可行
  11. 干涉测量技术的应用_特殊工程的施工测量技术应用分享
  12. 如何将Vue中表格数据,以Excel格式导出?报saveAs错误如何解决?
  13. Android 退出登录功能
  14. css实现渐变色遮罩层(模糊毛边)
  15. java-web6-Servlet知识
  16. C# WPF 进度条,根据读取数据显示进度条进度,根据Excel文件读取数据,进度条样式...
  17. 那些有趣的网站系列(十)
  18. 什么是Redis内存碎片率?碎片如何清理?
  19. 工业互联网企业蘑菇物联获数千万元A轮融资,元禾原点资本领投...
  20. Linux-Ubuntu下安装python和卸载

热门文章

  1. 同一服务器不同端口网页,Apache Web服务器,在同一服务器上的不同端口上的多个应用程序...
  2. 【coq】函数语言设计 笔记 03 - list
  3. 一个屌丝程序猿的人生(一百二十)
  4. iOS 5 故事板入门(4)
  5. 企业单位Win 10家庭版如何打开Guest用户,并共享打印机
  6. 学习笔记_循环语句的嵌套
  7. motion_primitive_library导航源码阅读笔记
  8. 大写字母组成的等腰三角形
  9. c语言解一元一次方程(及一元高次方程)
  10. 设计一个自然数类,该类的对象能表示一个自然数