JDK 8之前日期和时间的API(1)

System类中的currentTimeMillis():返回当前时间与1970年1月1日0时0分0秒之间以毫秒为单位的时间差。称为时间戳。

java.util.Date类

|---java.sql.Date类

1.两个构造器的使用

构造器一:Date():创建一个对应当前时间的Date对象

构造器二:创建指定毫秒数的Date对象

2.两个方法的使用

toString():显示当前的年、月、日、时、分、秒

getTime():获取当前Date对象对应的毫秒数。(时间戳)

3.java.sql.Date对应着数据库中的日期类型的变量

如何实例化

如何将java.util.Date对象转换为java.sql.Date对象

//如何将java.util.Date对象转换为java.sql.Date对象
//情况一:
// Date date4 = new java.sql.Date(2343243242323L);
// java.sql.Date date5 = (java.sql.Date) date4;
//情况二:
Date date6 = new Date();
java.sql.Date date7 = new java.sql.Date(date6.getTime());
day22
JDK 8之前日期和时间的API(2)
一、SimpleDateFormat的使用:SimpleDateFormat对日期Date类的格式化和解析

1.两个操作:

1.1 格式化:日期 --->字符串(format)

1.2 解析:格式化的逆过程,字符串 ---> 日期(parse,注意抛出异常throws ParseException)

2.SimpleDateFormat的实例化(按照指定的方式格式化和解析:调用带参的构造器)

二、Calendar日历类(抽象类)的使用

方式一:创建其子类(GregorianCalendar)的对象

System.out.println(calendar.getClass());
方式二:调用其静态方法getInstance()

Calendar calendar = Calendar.getInstance();
常用方法:

get()
set()
add()
getTime():日历类---> Date
setTime():Date ---> 日历类
jdk 8中日期时间API的测试
偏移量
年是从1900年开始的,月份是从0开始的

LocalDate、LocalTime、LocalDateTime 的使用
LocalDateTime相较于LocalDate、LocalTime,使用频率要高
类似于Calendar
now():获取当前的日期(LocalDate)、时间(LocalTime)、日期+时间(LocalDateTime)

of():设置指定的年、月、日、时、分、秒。没有偏移量

getXxx():获取相关的属性

getDayOfMonth()

getDayOfWeek()

getMinute()等

withXxx():体现不可变性,原来的数据不会改变。

withDayOfMonth 修改日期

withHour 修改小时

Instanct的使用
Instant:时间线上的一个瞬时点。这可能被用来记录应用程序中的事件时间戳

now():获取本初子午线对应的标准时间
atOffset():添加时间偏移量
toEpochMilli():获取自1970年1月1日0时0分0秒(UTC)开始的毫秒数 ---> Date类的getTime()
ofEpochMilli():通过给定的毫秒数,获取Instant实例 -->Date(long millis)
DateTimeFormatter:格式化或解析日期、时间
方式一:预定义的标准格式。如:ISO_LOCAL_DATE_TIME;ISO_LOCAL_DATE;ISO_LOCAL_TIME

DateTimeFormatter formatter = DateTimeFormatter.ISO_LOCAL_DATE_TIME;
方式二:本地化相关的格式。如:ofLocalizedDateTime()

FormatStyle.LONG / FormatStyle.MEDIUM / FormatStyle.SHORT :适用于LocalDateTime

DateTimeFormatter formatter1 = DateTimeFormatter.ofLocalizedDateTime(FormatStyle.LONG);
本地化相关的格式。如:ofLocalizedDate()

FormatStyle.FULL / FormatStyle.LONG / FormatStyle.MEDIUM / FormatStyle.SHORT : 适用于LocalDate

DateTimeFormatter formatter2 = DateTimeFormatter.ofLocalizedDate(FormatStyle.MEDIUM);
重点: 方式三:自定义的格式。如:ofPattern(“yyyy-MM-dd hh:mm:ss”)

DateTimeFormatter formatter3 = DateTimeFormatter.ofPattern("yyyy-MM-dd hh:mm:ss");

JDK 8之前日期和时间的API的更多相关文章

  1. Java 8新特性探究(四)深入解析日期和时间-JSR310

    众所周知,日期是商业逻辑计算一个关键的部分,任何企业应用程序都需要处理时间问题.应用程序需要知道当前的时间点和下一个时间点,有时它们还必须计算这两个时间点之间的路径.但java之前的日期做法太令人恶心 ...

  2. 廖雪峰Java7处理日期和时间-2Data和Calendar-1Date

    计算机中如何存储和表示日期和时间 Epoch Time:从1970年1月1日零点(格林威治时区/GMT+00:00)到现在经历的秒数,也叫timestamp, 例如: 秒级: * 北京 2016-11 ...

  3. 如何在JDK1.8中愉快地处理日期和时间

    如何在JDK1.8中愉快地处理日期和时间 JDK1.8新增了LocalDate和LocalTime接口,为什么要搞一套全新的处理日期和时间的API?因为旧的java.util.Date实在是太难用了. ...

  4. 如何在Java 8中愉快地处理日期和时间

    Java 8新增了LocalDate和LocalTime接口,为什么要搞一套全新的处理日期和时间的API?因为旧的java.util.Date实在是太难用了. java.util.Date月份从0开始 ...

  5. flask日期和时间

    本文翻译自The Flask Mega-Tutorial Part XII: Dates and Times 这是Flask Mega-Tutorial系列的第十二部分,我将告诉你如何以适配所有用户的 ...

  6. Flask 教程 第十二章:日期和时间

    本文翻译自The Flask Mega-Tutorial Part XII: Dates and Times 这是Flask Mega-Tutorial系列的第十二部分,我将告诉你如何以适配所有用户的 ...

  7. Java基础篇(04):日期与时间API用法详解

    本文源码:GitHub·点这里 || GitEE·点这里 一.时间和日期 在系统开发中,日期与时间作为重要的业务因素,起到十分关键的作用,例如同一个时间节点下的数据生成,基于时间范围的各种数据统计和分 ...

  8. java8中的日期和时间API

    一.背景 jdk 1.8 之前, Java 时间使用java.util.Date 和 java.util.Calendar 类. Date today = new Date(); System.out ...

  9. JDK中日期和时间的几个常用类浅析(二)

    java.util.Calendar   JDK中的java.util.Calendar类主要是用来处理日期和时间相关的算法运算.当你需要做一些关于日期和时间的高级算数操作时,此类可能就是你的最好选择 ...

随机推荐

  1. 关于又拍云免费cdn全网加速服务的长期评测(各种踩坑)

    原文转载自「刘悦的技术博客」 ( https://v3u.cn/a_id_128 ) 妇孺皆知,前端优化中最重要的优化手段之一就是cdn加速,所谓cdn加速就是采用更多的缓存服务器(CDN边缘节点), ...

  2. AI+医疗:使用神经网络进行医学影像识别分析 ⛵

    作者:韩信子@ShowMeAI 计算机视觉实战系列:https://www.showmeai.tech/tutorials/46 行业名企应用系列:https://www.showmeai.tech/ ...

  3. React中useMemo与useCallback的区别

    useMemo 把"创建"函数和依赖项数组作为参数传⼊入useMemo,它仅会在某个依赖项改变时才重新计算memoized 值.这种优化有助于避免在每次渲染时都进⾏行行⾼高开销的计 ...

  4. Word 常识备忘录

    一句科普 名词解释 左右页边距 正文到纸左右两边之间的间距. 分页符 分页符是分页的一种符号,上一页结束以及下一页开始的位置. 分栏符 分栏的页面使用分栏符可以使一列分栏的段落排列到另一栏. 邮件合并 ...

  5. Linux安装JDK并配置环境变量

    Linux - 安装jdk并配置环境变量 1. 前往JDK官网, 地址:https://www.oracle.com/java/technologies/downloads/   复制下载链接 2.  ...

  6. 「雅礼集训 2017 Day2」线段游戏(线段树懒标记“启发式下传”,李超树)

    题面 题解 加入一条线段,可以把它转化为在[L,R]区间内加一条线 y=ax+b (如果原线段与y轴平行,就相当于在{x1}处加一条线 y=max(y1,y2)) 我们可以把它加到线段树上,线段树上每 ...

  7. java数组---稀疏数组与数组之间的相互转化

    public static void main(String[] args) { int[][]array1=new int[11][11]; array1[1][2]=1; array1[2][3] ...

  8. manim

    from manim import * #导入manim命名空间 #这是一个最基本的manim结构,类名叫做BaseFrame,传入一个场景Scene,并且包含一个construct方法,传入self ...

  9. Paperask一键获取A币

    又到了毕业季,查论文是一件很头疼的事情,网上免费查重检测力度又很一般┑( ̄Д  ̄)┍ 因为一次偶然同学推荐了解到这个网站,只要做新手任务就能得到很多积分,再进行抽奖就可以得到A币或者是至尊券可以免费使 ...

  10. openstack中Glance组件简解

    一.Glance组件介绍 1.概念 Glance是OpenStack镜像服务,用来注册.登陆和检索虚拟机镜像.Glance服务提供了一个REST API,使你能够查询虚拟机镜像元数据和检索的实际镜像. ...