Java--Data类

1.Data类 

java.util.Date.表示指定的时间信息,不支持国际化
构造方法
new Date():当前系统日期和时间
new Date(long):给定日期和时间
主要方法:
after(Date):判断当前日期对象是否在给定日期对象之后
before(Date):判断当前日期对象是否在给定日期对象之前
equals(Object):判断两个日期是否相等
compareTo(Date):比较两个日期的顺序,如果当前日期对象大于给定日期对象,返回正数,如果小于
给定日期对象,返回负数,如果等于给定日期对象,返回零

2. DataFormat

对日期类进行格化式和解析
DateFormat本身是一个抽象类,实例化的方式
一种是通过静态方法的调用,处理的是长日期和长时间类型
1.getDateInstance()
2.getTimeInstance()
3.getDateTimeInstance()
一种是通过创建子类对象
创建SimpleDateFormat对象,处理的是短日期和短时间类型
可以自定义格式

字母日期或时间元素
y

M
d月份中的天数
E星期中的天数
H小时数(24小时)
h小时数(12小时)
m

分钟数

s秒钟数
aAm/Pm/上午/下午标记
S毫秒数

方法:

format(Data):将Data类型,格式化成字符串 

parse(String):将字符串解析成Data类型

3.Calendar

一个抽象类

​//获取实例对象
Calendar calendar=Calendar.getInstance();calendar.set(2000,Calendar.MAY,12);calendar.set(Calendar.HOUR_OF_DAY,9);//获取年份  月份  日期int year = calendar.get(Calendar.YEAR);System.out.println("year = " + year);int month = calendar.get(Calendar.MONTH)+1;//0-11System.out.println("month = " + month);int date = calendar.get(Calendar.DATE);System.out.println("date = " + date);int week = calendar.get(Calendar.DAY_OF_WEEK);//一周的第几天System.out.println("week = " + week);//从周日开始是第1天int day = calendar.get(Calendar.DAY_OF_MONTH);//一个月的第几天System.out.println("day = " + day);int dy = calendar.get(Calendar.DAY_OF_YEAR);System.out.println("dy = " + dy);int hour = calendar.get(Calendar.HOUR);//12小时制的System.out.println("hour = " + hour);int hour1=calendar.get(Calendar.HOUR_OF_DAY);//24小时制System.out.println("hour1 = " + hour1);int minute = calendar.get(Calendar.MINUTE);System.out.println("minute = " + minute);int second = calendar.get(Calendar.SECOND);System.out.println("second = " + second);*///Calendar转DateDate time = calendar.getTime();System.out.println(DateUtil.getSystemDateTime(time));//Date转成CalenderDate date= DateUtil.parse("yyyy-MM-dd HH:mm:ss","2012-01-31 10:10:23");calendar.setTime(date);​

4.GregorianCalendar

格里高利历是公历的标准名称,教皇格里高利十三世于1582年颁布。公历纪元,又称“西元”
儒略历:公元前45年1月1日起执行的一种历法。一年12个月,大小月交替,四年一闰,平年365日,闰年366天。年平均长度365.25天。
1949年9月27日,中国政协通过,采用国际社会通用的西历和西元作业历法和纪年。
四年一闰,百年不闰,四百年一大闰
年均长度365天5小时49分12秒,按此计算方式,3000年左右误差一天。
判断闰年的方法 isLeapYear(int),返回一个boolean类型的值,1582年后,计算方式不同

5.JDK8新增日期工具类

LocalDate:获取本地日期

LocalTime:获取本地时间

LocalDateTime:获取本地日期和时间

 

单独获取日期时间类中的每个值

 

使用给定值修改日期 

 

设置日期和时间的偏移量

 

 

Instant类

代表时间点,获取日期变更子午线时间 

DateTimeFormatter格式化和解析

 //将LocalDate转换成字符串String格式DateTimeFormatter formatter=DateTimeFormatter.ofPattern("yyyy年MM月dd日");LocalDate date=LocalDate.now();String s = formatter.format(date);System.out.println(s);//将LocalDateTime转换成字符串String格式formatter=DateTimeFormatter.ofPattern("yyyy年MM月dd日 HH:mm:ss");LocalDateTime localDateTime = LocalDateTime.now();String s1 = formatter.format(localDateTime);System.out.println("s1 = " + s1);//将时间戳转换成字符串日期格式long x= Instant.now().toEpochMilli();LocalDateTime dateTime = LocalDateTime.ofInstant(Instant.ofEpochMilli(x), ZoneId.systemDefault());String s2=formatter.format(dateTime);System.out.println("s2 = " + s2);/* System.out.println(ZoneId.systemDefault());System.out.println("dateTime = " + dateTime);*///将字符解析成日期formatter=DateTimeFormatter.ofPattern("yyyy-MM-dd");String s4="2022-09-01";LocalDate parse1 = LocalDate.parse(s4, formatter);System.out.println("parse1 = " + parse1);//将字符解析成日期时间formatter=DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");String s3="2022-05-01 12:20:30";LocalDateTime parse = LocalDateTime.parse(s3,formatter);System.out.println("parse = " + parse);

 Period计算两个"日期"之间的间隔,得到的是年月日,假设2022年9月2日和2021年2月1日去计算得到相关1年7月1天,没办法知道具体多少天

LocalDate date1=LocalDate.of(1949,10,1);LocalDate date2=LocalDate.now();/*Period x = Period.between(date1, date2);System.out.println(x.getYears()); //获取相差年份System.out.println(x.getMonths()); //获取相差月份System.out.println(x.getDays()); //获取相差天数*///计算两个日期相差天数方法1long days = ChronoUnit.DAYS.between(date1, date2);System.out.println("days = " + days);//计算两个日期相差天数方法2long days1 = date2.toEpochDay() - date1.toEpochDay();System.out.println("days1 = " + days1);

 Duration计算两个日期时间的间隔

public class Test8 {public static void main(String[] args) {LocalDateTime dateTime=LocalDateTime.of(1922,7,10,10,10,5);LocalDateTime now=LocalDateTime.now();//计算方式1Duration duration = Duration.between(dateTime, now);/* System.out.println(duration.toDays());//计算两个日期时间相差的天数System.out.println(duration.toHours());//计算两个日期时间相差的小时System.out.println(duration.toSeconds());//计算两个日期时间相差的秒数System.out.println(duration.getSeconds());//和上面相同*///计算方式2/*long days = dateTime.until(now, ChronoUnit.DAYS);System.out.println("days = " + days);long hours = dateTime.until(now, ChronoUnit.HOURS);System.out.println("hours = " + hours);long months = dateTime.until(now, ChronoUnit.MONTHS);System.out.println("months = " + months);*///计算方式3long years = ChronoUnit.YEARS.between(dateTime, now);System.out.println("years = " + years);long hours = ChronoUnit.HOURS.between(dateTime, now);System.out.println("hours = " + hours);long  centuries= ChronoUnit.CENTURIES.between(dateTime, now);System.out.println("centuries = " + centuries);}
}

 时间调节器

public class Test9 {public static void main(String[] args) {LocalDate date=LocalDate.now();//获取本周一时间LocalDate date1 = date.with(DayOfWeek.MONDAY);//获取下周一时间date1=date.with(TemporalAdjusters.next(DayOfWeek.MONDAY));//获取本月第一天date1=date.with(TemporalAdjusters.firstDayOfMonth());//获取本月最后一天date1=date.with(TemporalAdjusters.lastDayOfMonth());//获取本年第一天date1=date.with(TemporalAdjusters.firstDayOfYear());System.out.println(date1);}
}

 Date类和LocalDate(LocalTime\LocalDateTime)转换

​
public class Test10 {public static void main(String[] args) {//将LocalDate转成DateLocalDate date2=LocalDate.now();ZonedDateTime zonedDateTime1 = date2.atStartOfDay().atZone(ZoneId.systemDefault());Instant instant = zonedDateTime1.toInstant();Date date1=Date.from(instant);String s = new SimpleDateFormat("yyyy-MM-dd").format(date1);System.out.println(s);//将LocalDateTime转成Date类型LocalDateTime date=LocalDateTime.now();ZonedDateTime zonedDateTime = date.atZone(ZoneId.systemDefault());Instant instant1 = zonedDateTime.toInstant();Date date3=Date.from(instant1);String s1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(date3);System.out.println(s1);//Date转成LocalDateDate date4=new Date();ZonedDateTime zonedDateTime = date4.toInstant().atZone(ZoneId.systemDefault());LocalDate date5=zonedDateTime.toLocalDate();System.out.println(date5);//Date转成LocalDateTimeDate date6=new Date();ZonedDateTime zonedDateTime = date6.toInstant().atZone(ZoneId.systemDefault());LocalDateTime date7=zonedDateTime.toLocalDateTime();LocalTime time=zonedDateTime.toLocalTime();System.out.println(date7);}
}​

制作不易,麻烦大家点个赞,写的不好的请各路大神指点

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/359390.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基础购物车(Javascript)

使用Javascript写一个基础购物车&#xff0c;其中包含商品数量加加减减&#xff0c;下面的总价和总数量跟着商品数量变动&#xff0c;还可以自己添加需要的商品。 基础购物车的结构样式如下&#xff1a; HTML代码&#xff1a; <body><table border"1px" c…

LeetCode26. 删除有序数组中的重复项题解

LeetCode26. 删除有序数组中的重复项题解 题目链接&#xff1a; https://leetcode.cn/problems/remove-duplicates-from-sorted-array 题目描述&#xff1a; 给你一个 非严格递增排列 的数组 nums &#xff0c;请你 原地 删除重复出现的元素&#xff0c;使每个元素 只出现一…

JavaWeb——Mysql的启动/登录/卸载

目录 1.Mysql服务器 2.Mysql的简单使用 2.1 启动Mysql&#xff1a; 2.2 登录Mysql 2.3 退出 3. 连接别人的数据库 4.卸载mqsql 1.Mysql服务器 安装了Mysql的计算机都成为Mysql服务器 2.Mysql的简单使用 2.1 启动Mysql&#xff1a; 第一种方法&#xff1a;搜索服务&am…

一文读懂交换机MAC地址表:五大关键点,图解21步

HCIA 新班开课了华为HCIA课程介绍苏州面授班 | 全国直播班循环开班&#xff0c;免费重学前言 什么是MAC地址表?MAC地址表有什么作用&#xff1f;MAC地址表里面包含了哪些要素&#xff1f;今天带你好好唠唠。 我们以一个案例为例&#xff1a; 如上图&#xff1a;PC1和PC2通…

2024.6.24 IDEA中文乱码问题(服务器 控制台 TOMcat)实测已解决

1.问题产生原因&#xff1a; 1.文件编码不一致&#xff1a;如果文件的编码方式与IDEA设置的编码方式不一致&#xff0c;就会产生乱码。确保文件和IDEA使用相同的编码&#xff0c;通常是UTF-8。2.IDEA设置问题&#xff1a;检查IDEA的全局编码设置和项目编码设置是否正确。3.终端…

adb 查看哪些应用是双开的

adb shell pm list users 得到 这 里有 user 0 ,11,999 其中0是系统默认的&#xff0c;11是平行空间的&#xff0c;999是双开用户 pm list packages --user 999 -3 得到了999用户安装第三方应用的包名 pm list packages --user 11 -3 得到了隐私空间用户安装第三方应用的…

Windows环境如何ssh远程连接本地局域网内的Archcraft系统

文章目录 前言1. 本地SSH连接测试2. Archcraft安装Cpolar3. 配置 SSH公网地址4. 公网远程SSH连接小结 5. 固定SSH公网地址6. SSH固定地址连接 前言 本文主要介绍如何在Archcraft系统中安装Cpolar内网穿透工具,并以实现Windows环境ssh远程连接本地局域网Archcraft系统来说明使用…

React+TS 从零开始教程(2):简中简 HelloWolrd

源码链接&#xff1a;https://pan.quark.cn/s/c6fbc31dcb02 这一节&#xff0c;我们来见识ReactTS的威力&#xff0c;开始上手开发第一个组件&#xff0c;什么组件呢&#xff1f; 当然是简中简的 HelloWolrd组件啦。 在src下创建一个components&#xff0c;然后新建Hello.tsx …

mp4转换成mp3怎么转?教你几种值得收藏的转换方法!

mp4转换成mp3怎么转&#xff1f;MP4&#xff0c;这一深入人心的数字多媒体容器格式&#xff0c;无疑在当今数字世界中占据了一席之地&#xff0c;那么&#xff0c;它究竟有何过人之处呢&#xff1f;首先&#xff0c;MP4的跨平台兼容性是其一大亮点&#xff0c;不论是在Windows的…

MySQL字典数据库设计与实现 ---项目实战

软件准备✍&#xff1a;Mysql与Navicat可视化命令大全 ----项目实战 文章前言部分 目录 一.摘要 二.设计内容 三.项目实现 一.摘要 本项目关注于字典数据库表结构的设计和数据管理。通过现有的sql文件&#xff0c;实现system_dict_type和system_dict_data两个数据表。随后…

文本批量高效编辑神器:空格秒变分隔符,提升工作效率

在信息爆炸的时代&#xff0c;文本处理已成为我们日常工作中不可或缺的一部分。然而&#xff0c;面对海量的文本数据&#xff0c;如何高效、准确地进行编辑和整理&#xff0c;成为了我们面临的难题。今天&#xff0c;我要向大家介绍一款文本批量高效编辑神器——首助编辑高手&a…

微信小程序轮播图

效果图 详情可见 微信小程序 参照&#xff1a;swiper | uni-app官网 代码&#xff1a; <!--轮播图-- > <swiper interval"2000" autoplay"true" circular"true" style"height: 300px;"><swiper-item style&qu…

Redis—String数据类型及其常用命令详解

文章目录 Redis概述1.Redis-String数据类型概述2.常用命令2.1 SET&#xff1a;添加或者修改已经存在的一个String类型的键值对2.2 GET&#xff1a;根据key获取String类型的value2.3 MSET&#xff1a;批量添加多个String类型的键值对2.4 MGET&#xff1a;根据多个key获取多个Str…

前后端分离项目面试总结

一&#xff1a;是否登录状态 服务端登录的时候&#xff0c;给分配一个session用于存储数据&#xff0c;同时将sessionID返回给浏览器&#xff0c;浏览器通过cookie把sessionID存储起来&#xff0c;下次访问时携带上&#xff0c;服务端就可以通过sessionID来确定用户是否登录。 …

pdf压缩大小,PDF压缩大小不影响清晰度

你是否曾为PDF文件过大而烦恼&#xff1f;想要分享或上传文件时&#xff0c;却因为它的体积而束手无策&#xff1f;别担心&#xff0c;今天我将为大家分享一些简单实用的 PDF 压缩技巧&#xff0c;让你的文件轻松压缩pdf。 打开“轻云处理pdf官网”&#xff0c; 的网站。然后上…

安徽理工大学2计算机考研情况,招收计算机专业的学院和联培都不少!

安徽理工大学&#xff08;Anhui University of Science and Technology&#xff09;&#xff0c;位于淮南市&#xff0c;是安徽省和应急管理部共建高校&#xff0c;安徽省高等教育振兴计划“地方特色高水平大学”建设高校&#xff0c;安徽省高峰学科建设计划特别支持高校&#…

海外注册 | 一分钟看懂英国医疗器械注册

英国医疗器械市场因其独特的地域划分而与其他国家有所不同。分为大不列颠市场&#xff08;包括&#xff1a;英格兰、苏格兰和威尔士&#xff09;和北爱尔兰市场&#xff0c;它们在法规要求上存在细微差别。 以下是针对这两个市场的基本要求概览&#xff1a; 监管机构&#xf…

ONLYOFFICE 编辑器8.1,一个功能全面的编辑器

目录 官网地址&#xff1a;ONLYOFFICE - 企业在线办公应用软件 | ONLYOFFICE 一、PDF编辑 二、PPT播放 1. 多样化的幻灯片样式与布局 2. 强大的文本编辑与格式化功能 3. 丰富的图形与图表插入功能 4. 灵活的过渡效果与动画设置 5. 舒适的呈现与演讲辅助功能 6. 便捷的团…

都说HCIE“烂大街”了,说难考都是假的?

在网络技术领域&#xff0c;华为认证互联网专家&#xff08;HCIE&#xff09;长期以来被视为一项高端认证&#xff0c;代表着专业技能和知识水平。 然而&#xff0c;近几年来&#xff0c;考证的重视度直线上升&#xff0c;考HCIE的人越来越多了&#xff0c;考过的人好像也越来越…

禁用/屏蔽 Chrome 默认快捷键

Chrome 有一些内置的快捷键&#xff0c;但是它并没有像其他软件一样提供管理快捷键的界面。在某些时候&#xff0c;当我们因为个人需求希望禁用 Chrome 某些快捷键时&#xff0c;又无从下手。 好在有开发者开发了 Chrome 插件&#xff0c;可以禁用 Chrome 快捷键的插件&#x…