2021-11-12Date类
1.毫秒值的概念和作用
2.Date类的构造方法和成员方法
Demo02Date.java
package Date;import java.util.Date;public class Demo02Date {public static void main(String[] args) {//1.构造方法Date,分配 Date 对象并初始化此对象,以表示分配它的时间(精确到毫秒)。Date date1 = new Date();System.out.println(date1);//Fri Nov 12 20:13:28 CST 2021//2.Date(long date)分配 Date 对象并初始化此对象,以表示自从标准基准时间(称为“历元(epoch)”,// 即 1970 年 1 月 1 日 00:00:00 GMT)以来的指定毫秒数。Date date2 = new Date(17779999L);Date date3 = new Date(0L);System.out.println(date2);//Thu Jan 01 12:56:19 CST 1970System.out.println(date3);//Thu Jan 01 08:00:00 CST 1970//3.getTime()// 返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。Date date4 = new Date();System.out.println(date4.getTime());//1636719470013}
}
3.DateFormat类和SimpleFormat类
Demo01DateFormat.java
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;public class Demo01DateFormat {public static void main(String[] args) throws ParseException {//1.使用DateFormat类中的format方法,把日期格式化为文本//String format(Date date) 按照指定格式,把Date日期,格式化为符合模式的字符串/** 使用步骤:* 1.创建SimpleDateFormat对象,构造方法中传递指定的模式* 2.调用SimpleDateFormat对象中的方法format(parse),按照构造方法中指定的模式,把Date日期格式化为复合模式的字符串(文本)* 把符合构造方法中模式的字符串,解析为Date日期* */SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");Date date = new Date();String format = simpleDateFormat.format(date);System.out.println(date);//Sat Nov 13 10:43:05 CST 2021System.out.println(format);//2021-11-13 10:43:05/*2.使用DateFormat类中的方法parse,把文本解析为日期* Date parse(String source) 把符合模式的字符串,解析为Date日期* 注意:* public Date parse(String source) throws ParseException* parse方法声明了一个异常叫ParseException解析异常* 如果字符串和构造方法中的模式不一样,那么程序就会抛出此异常* 调用一个抛出了异常的方法,就必须处理这个异常,要么throws继续声明抛出这个异常,呀么try...catch自己处理这个异常* */SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");Date parse = sdf.parse(format);System.out.println(parse);}
}
4.练习
DatePract.java
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;//使用日期相关的API,计算出一个人已经出生了多少天/*
* 思路:
* 1.使用Scanner类中的方法next,获取出生日期
* 2.使用DateFormat类中的方法parse,把字符串的出生日期解析为Date格式
* 3.把Date格式的出生日期转换为毫秒值
* 4.获取当前的日期,转换为毫秒值
* 5.使用当前日期的毫秒值-出生日期的毫秒值
* 6.把毫秒值的差值转换为天(s/1000/60/60/24)(注意刚开始自己还除以365,不对的!!!!)
* */
public class DatePract {public static void main(String[] args) throws ParseException {Date dateNow = new Date();System.out.println("现在时间是:" + dateNow);Long dataNew = dateNow.getTime();System.out.println("请输入你的出生日期:");//String dateBorn = new Scanner(System.in).next("yyyy-MM-dd HH:mm:ss");String dateBorn = new Scanner(System.in).next();SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");Long dateOld = sdf.parse(dateBorn).getTime();int days = (int) ((dataNew - dateOld) / ( 24 * 60 * 60 * 1000));System.out.println(days);//8799}
}
5.Calendar类
Date的很多类已经不用了,常用Calendar类来代替
6.Calendar类常用的成员变量方法
Demo02Calendar.java
package Calender;import java.util.Calendar;/** Calendar类的成员方法:* -public int get(int field):返回给定日历字段的值* -public void set(int field,int value):将给定的日历字段设置为给定值* -public abstract void add(int field, int amount):根据日历规则,为给定的日历字段添加或减去指定的时间量* -public Date getTime():返回一个表示此Calendar时间值(从历元到现在的毫秒偏移量)的Date对象* 成员方法的参数:* int field :日历类的字段,可以用Calendar类的静态变量获取* */
public class Demo02Calendar {public static void main(String[] args) {Calendar c = Calendar.getInstance();int year = c.get(Calendar.YEAR);System.out.println(year);int month = c.get(Calendar.MONTH) + 1;//西方月份0-11,中国1-12System.out.println(month);int day = c.get(Calendar.DATE);//DAY_OF_MONTH一样效果System.out.println(day);/*2.* public void set(int field, int value):将给定的日历字段设置为给定值* 参数:* int field:传递指定的日历字段(YEAR,MONTH)* int value:传递的字段设置的具体的值* */c.set(Calendar.YEAR,2010);System.out.println(c.get(Calendar.YEAR));//2010//同时设置年月日,可以使用set的重载方法//c.set(8888,8,8);//3.-public abstract void add(int field, int amount):根据日历规则,为给定的日历字段添加或减去指定的时间量c.add(Calendar.YEAR,+2);System.out.println(c.get(Calendar.YEAR));//2012c.add(Calendar.YEAR,-2);System.out.println(c.get(Calendar.YEAR));//2010//4.public Date getTime():返回一个表示此Calendar时间值(从历元到现在的毫秒偏移量)的Date对象//日历对象转化为日期对象System.out.println(c.getTime());//Sat Nov 13 19:14:04 CST 2010}
}
//2021
//11
//13
7.时间日期相关类总结
2021-11-12Date类相关推荐
- 2021湖南省计算机类考研
2021湖南省计算机类考研 1. 专业选择 湖南省内,计算机类考研可选择专业:计算机科学与技术.软件工程.通信工程等 计算机科学与技术专业学习范围比较广泛,软件类,网络通信类,人工智能类都会涉及:就业 ...
- 2021/11/27大数据1+XJava答案
2021/11/27 步骤二 //已经提供Student类的属性,补充完成该类的有参(五个参数)及无参构造方法public Student(){}public Student(String name, ...
- 实战:怎样把间隔的几个commit整理成1个?-2021.11.18
实战:怎样把间隔的几个commit整理成1个?-2021.11.18 目录 文章目录 实战:怎样把间隔的几个commit整理成1个?-2021.11.18 目录 文档来源 实验环境 实验软件(无) 1 ...
- 电子信息计算机专业院校排名,2021电子信息类专业大学全国排名
2021电子信息类专业大学全国排名2021-06-10 11:33:28文/叶丹 中国电子信息类专业最好的大学有哪几所,中国哪些本科大学电子信息门类专业实力最强?下面是全国最好的电子信息类专业大学排名 ...
- 尚硅谷——谷粒商城项目开发记录——2021.11.19
尚硅谷--谷粒商城项目开发记录--2021.11.19 出现错误 1.SpringBoot测试类出现Could not autowire. No beans of 'BrandService' typ ...
- 人工检查,11 个类、97942 个标签,Roboflow 开源自动驾驶数据集可以使用啦
2020-02-16 11:17 导语:缺失大量行人.骑车人标注的无人驾驶数据集可能是个大问题 机器学习即将带来一系列的社会变革,其中一个被大肆宣传的领域是自动驾驶.但是,伴随着自动驾驶技术的巨大动力 ...
- 疲劳驾驶数据集_人工检查,11 个类、97942 个标签,Roboflow 开源自动驾驶数据集可以使用啦...
机器学习即将带来一系列的社会变革,其中一个被大肆宣传的领域是自动驾驶.但是,伴随着自动驾驶技术的巨大动力而来的是巨大的责任,如果一辆自动驾驶汽车训练的不够好,可能会引发车祸,导致人员伤亡. 这是一个非 ...
- 史上最详细微信小程序授权登录与后端SprIngBoot交互操作说明,附源代码,有疑惑大家可以直接留言,蟹蟹 2021.11.29完善更新小程序代码,
2021.11.29 更新文章 你好,我是博主宁在春,一起学习吧!!! 写这篇文章的原因,主要是因为最近在写毕业设计,用到了小程序,这中间曲曲折折,一言难尽啊.毕业设计真的让人麻脑阔
- c++11 thread类的简单使用
一个thread对象就代表一个线程执行,当对象创建完成后,线程函数就开始执行,下面这段话是c++11的thread类介绍. An initialized thread object represent ...
- 读论文——Pre-Training with Whole Word Masking for Chinese BERT(2021 11.25)
第一遍 标题以及作者(2021 11.25) 摘要 本文基于BERT,在RoBERTa上进行一系列改进,提出了用于中文的预训练模型MacBERT. 提出了一种新的掩码策略,MLM as correct ...
最新文章
- 4K P60 444 相关的事
- 终于把网站最后一个模块了结了
- ECMAScript 2021(ES12)新特性简介
- 广联达2018模板算量步骤_广联达钢结构算量软件可以和广联达量筋合一GTJ2018互导吗?...
- mysql路径猜解_猜解数据库(MYSQL)信息
- 在虚幻引擎5中构建你的首款游戏 - 03 - 模型和材质蓝图
- postman下载与汉化
- linux 端口关闭防火墙设置,LINUX关闭防火墙、开放特定端口等常用操作
- 高尔顿钉板实验的matlab代码动画演示
- 【文献学习】《Reference-free detection of isolated SNPs》
- 商务云PHP网络验证系统,易如意PHP网络验证系统1.3【开源】+调用模块源码
- 上千个游戏模型推荐 好用又实用,流行又火爆的都在这里
- 技术党求生骚操作!手把手教你做一只口红色号识别器!
- kali网络问题解决办法
- python余弦定理求角_python余弦定理计算相似度
- symantec忘记了密码时如何卸载?
- android Phone 距离感应器锁的实现
- 转的: 健康程序员:五分钟与鼠标手说再见
- UE4学习笔记2----蓝图实现物体来回移动
- c语言 保留两位小数
热门文章
- java socket 连接异常_java.net.SocketException:软件导致连接中止:套接字写错误
- 打开有视频的文件夹~~当遇到某些特定的视屏格式就会出现Activemovie Window:Explorer.EXE-应用程序错误
- BZOJ-2761-不重复数字
- [CODEVS 1173] 最优贸易
- AtCoder AGC032E Modulo Pairing (二分、贪心与结论)
- 自主招生计算机专业自我介绍,自主招生自我介绍参考范文
- npm 安装yarn_问题解决记录-npm和yarn全局安装成功后命令无法执行的问题
- linux系统下cpu如何测试,Linux 系统下如何查看CPU个数
- ip addr 相关操作
- Windows Presentation Foundation (WPF)中的命令(Commands)简述