包装类日期日历类

一(Date类):


在JDK的java.util包中,提供了Date类用于表示日期和时间,精确到毫秒。随着JDK版本的不断升级和发展,Date类中的大部分构造方法和普通方法都已经不推荐使用。在JDK8中,Date类只有2个构造方法可以使用,具体如下。

1.Date():用来创建当前时间的Date对象。

2.Date(long date):用来创建指定时间的Date对象,初始化时间为在1970年1月1日0时0分0秒的基础上去加毫秒值表示的时间。

计算机的初始时间:记为1970年1月1日0时0分0秒。

package 日期与时间类;
 

import java.util.Date;public class DateTest01 {public static void main(String[] args) {// 创建日期类Date date1 = new Date();// 获取当前基于环境的时间System.out.println(date1);long time = date1.getTime();//计算当前时间距离1970年1月1日 00:00:00 的 毫秒值---时间戳System.out.println(time);Date date2 = new Date(90000);//创建一个距离1970年1月1日 00:00:00 经过了多少毫秒的时间System.out.println(date2);}
}

二(SimpleDateFormat类):


SimpleDateFormat类可以使用new关键字创建实例对象,它的构造方法需要接收一个表示时间格式模板的字符串参数,用来以区域设置日期的格式化和解析。

SimpleDateFormat构造方法:

1. public SimpleDateFormat()//表示设置默认格式和日期 。

2. public SimpleDateFormat(String pattern)

SimpleDateFormat类格式化和解析涉及的方法:

1.格式化方法:(Date-->SimpleDateFormat)
2.解析方法:(String---->Date)

import java.text.SimpleDateFormat;
import java.util.Date;public class DateTest02 {public static void main(String[] args) throws Exception {//SimpleDateFormat 用来实现 日期 和 字符串 之间的相互转换SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");Date date1 = new Date();// 把日期转换成指定格式的字符串String format = sdf.format(date1);System.out.println(format);// 把指定格式的 字符串 转换成 日期String time = "2000/10/23 08:20:54";Date date2 = sdf.parse(time);System.out.println(date2);}
}

三(Calendar类):


Calendar类用于完成日期和时间字段的操作,可以通过特定的字段设置和读取日期的特定部分,比如年月日时分秒等。Calendar类是一个抽象类,不可以被实例化,在程序中需要调用其静态方法getInstance()来得到一个Calendar对象,然后才能调用其相应的方法,具体示例如下:

Calendar calendar=Calendar.getInstance();
Calendar类为操作日期和时间提供了大量的方法,例如:

1.int get(int field):返回指定日历字段field的值

2.void set(int field,int value):设置指定日历字段field的值value

3.void set(int year,int month,int date):设置Calendar对象的年月日3个字段的值

4.void set(int year,int month,int date,int hour,int minute,int second):设置Calendar对象的年月日6个字段的值

5.void add(int field,int amount):为指定的日历字段field增加或减少指定的时间量amount

6.Date getTime()返回一个表示当前Calendar表示的时间的Date对象,即Calendar———>Date

以上大多数方法int类型的参数field,该参数需要接收Calendar类中的常量值,分别代表着不同的字段。例如:

1.Calendar.YEAR:表示年份

2.Calendar.MONTH:表示月份。在使用该字段时,月份的起始值是从0开始的,因此要获取当前的月份需要在Calendar.MONTH的基础上+1

3.Calendar.DATE:表示日(天)

4.Calendar.HOUR:表示小时

5.Calendar.MINUTE:表示分钟

6.Calendar.SECOND:表示秒

import java.util.Calendar;
import java.util.Date;
import java.util.TimeZone;public class CalenderTest01 {public static void main(String[] args) {//Calendar类是一个抽象类,可以通过Calendar 的getInstance方法返回一 个Calendar 对象Calendar calendar = Calendar.getInstance();//获取当前系统的时间Date date1 = calendar.getTime();System.out.println(date1);Long timeInMillis = calendar.getTimeInMillis();System.out.println("当前时间的亳秒值: " + timeInMillis);TimeZone timeZone = calendar.getTimeZone();System.out.println("时区: " + timeZone);//get.方法可以根据指定的日历字段获取时间对应的值int year = calendar.get(Calendar.YEAR);System.out.println("年份: " + year);int month = calendar.get(Calendar.MONTH);//0-11 表示1-12月System.out.println("月份: " + (month + 1));int date = calendar.get(Calendar.DAY_OF_MONTH);System.out.println("日期: " + date);int dayOfYear = calendar.get(Calendar.DAY_OF_YEAR);System.out.println("本年的第: " + dayOfYear);System.out.println("------------------------");//可以获取指定时间月份0 - 11表示1 - 12月calendar.set(2000, 9, 28, 15, 32,35);Date date2 = calendar.getTime();System.out.println(date2);}
}

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

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

相关文章

【LeetCode】升级打怪之路 Day 02:有序数组平方 滑动窗口法

今日题目: 977. 有序数组的平方 | LeetCode209. 长度最小的子数组 | LeetCode76. 最小覆盖子串 | LeetCode59. 螺旋矩阵 II | LeetCode 目录 今日总结Problem 1:有序数组平方 ⭐⭐⭐Problem 2:滑动窗口法 【必会】LeetCode 209. 长度最小的子…

怎样提取WPS文档的目录?

怎样提取WPS文档的目录(智能识别目录)? 1. 将你的WPS文档打开,菜单:文件:输出为PDF,另存为(.pdf) 2. PyPDF2 从PDF文件中提取目录 运行 python pdf_read_dir.py 你的PDF文件 或者 java : pd…

【2024软件测试面试必会技能】Appium自动化(5):元素定位工具

常用元素定位工具使用 uiautomatorviewer定位工具: 元素定位主要用来获取元素信息,获取元素信息后才能用appium提供的相关API去识别和操作元素。 谷歌在AndroidSDK中,提供了元素定位工具uiautomatorviewer,该工具可在android-s…

系统学习Python——装饰器:类装饰器-[跟踪对象接口:基础知识]

分类目录:《系统学习Python》总目录 文章《系统学习Python——装饰器:类装饰器-[单例类:基础知识]》的单例示例阐明了如何使用类装饰器来管理一个类的所有实例。类装饰器的另一个常用场景是为每个生成的实例扩展接口。类装饰器基本上可以在实…

三opencv源码解压及环境变量配置

1.双击opencv-3.4.6-vc14-vc15.exe 2.选择解压的路径,点击【extract】 3.设计环境变量

从零学习Linux操作系统第二十七部分 shell脚本中的变量

一、什么是变量 变量的定义 定义本身 变量就是内存一片区域的地址 变量存在的意义 命令无法操作一直变化的目标 用一串固定的字符来表示不固定的目标可以解决此问题 二、变量的类型及命名规范 环境级别 export A1 在环境关闭后变量失效 退出后 关闭 用户级别&#xff…

《初阶数据结构》尾声

目录 前言: 《快速排序(非递归)》: 《归并排序》: 《归并排序(非递归)》: 《计数排序》: 对于快速排序的优化: 分析: 总结: 前言&#xff1a…

新疆营盘古城及古墓群安防舱体实施方案

3 总体布局 3.1设计原则 3.1.1执行有效的国家标准、国家军用标准和行业标准; 3.1.2满足指标要求; 3.1.3采用通用化、模块化设计,提高设备可维修性; 3.1.4采用人机工程学知识进行设计,充分考虑安全性。 3.2 总体…

Double-DQN算法

Double-DQN算法的原理简介、与DQN对比等。 参考深度Q网络进阶技巧 1. 原理简介 在DQN算法中,虽然有target_net和eval_net,但还是容易出现Q值高估的情况,原因在于训练时用通过target_net选取最优动作 a ⋆ argmax ⁡ a Q ( s t 1 , a ; w…

51单片机学习(3)-----独立按键控制LED的亮灭状态

前言:感谢您的关注哦,我会持续更新编程相关知识,愿您在这里有所收获。如果有任何问题,欢迎沟通交流!期待与您在学习编程的道路上共同进步了。 目录 一. 器件介绍及实验原理 1.独立按键 (1)独…

react 实现路由拦截

简单介绍下项目背景,我这里做了一个demo,前端使用mock数据,然后实现简单的路由拦截,校验session是否包含用户作为已登录的依据,react-router-dom是v6。不像vue可以设置登录拦截beforeenter,react需要我们自…

外包干了3个月,技术退步明显

先说一下自己的情况,本科生,19年通过校招进入广州某软件公司,干了接近4年的功能测试,今年年初,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能测试…

Linux之用户和用户组的深入了解

目录 一、简介 1.1、用户: 1.2、用户组 1.3、UID和GID 1.3、用户账户分类 查看用户类别 超级用户root(0) 程序用户(1~499) 普通用户(500~65535) 二、用户 2.1、添加新的用户账号:useradd 2.2、删除账号:userdel 有-r与没有-r区别…

OSDI 2023: Hyrax Fail-in-Place Server Operation in Cloud Platforms

我们使用以下6个分类标准对本文的研究选题进行分析: 1. 硬件故障类型 DRAM: 此类别涉及研究如何处理内存相关的错误。这包括单比特错误,使用传统 ECC 进行校正,以及需要冗余、修复技术或隔离故障内存区域的更广泛的故障。磁盘: 此处研究将解决存储故障,尤其是 SSD 中的故障…

运维07:堡垒机

什么是跳板机 跳板机就是一台服务器而已,运维人员在使用管理服务器的时候,必须先连接上跳板机,然后才能去操控内网中的服务器,才能登录到目标设备上进行维护和操作 开发小张 ---> 登录跳板机 ---> 再登录开发服务器 测试…

贷齐乐系统最新版SQL注入(无需登录绕过WAF可union select跨表查询)

一、环境 已上传资源(daiqile) 二、代码解释 1.1Request 不管get请求还是post请求都可以接收到 1.2过滤的还挺多 1.3第二个WAF把数据分为两个了一个Key一个value,全是explode的功劳 1.4submit是if进入的前提 很明显走进来了 1.5那我们在这…

学习JAVA的第三天(基础)

目录 流程控制语句 顺序结构 分支结构 循环结构 分类: 练习 跳转控制语句 练习 数组 数组介绍 数组的定义和静态初始化 数组定义 数组的静态初始化 数组元素访问 数组遍历 数组动态初始化 JAVA内存分配 流程控制语句 顺序结构 是Java程序默认的执行流程…

UIKit 在 UICollectionView 中拖放交换 Cell 视图的极简实现

概览 UIKit 中的 UICollectionView 视图是我们显示多列集合数据的不二选择,而丰富多彩的交互操作更是我们选择 UICollectionView 视图的另一个重要原因。 如上图所示:我们实现了在 UICollectionView 中拖放交换任意两个 Cell 子视图的功能,这…

js如何判断一个对象中某一个属性存在并且有值

在JavaScript中,可以使用不同的方法来判断一个对象中某个属性是否存在并且有值。以下是几种常见的方法: 1、使用hasOwnProperty()方法:该方法用于检查对象是否具有指定的属性。可以通过以下方式来判断属性是否存在并且有值: if (…

整理了去年的一些运维面试题一

Ingress的yaml文件需要包含哪些? CICD搭建流程? JAVA程序打包工具? 如何检测Linux端口如何通信? k8s集群之间如何通信的? docker组成部分? 20位掩码有多少主机IP? 在linux中四个T的硬盘使用什…