Date类概述

类Date表示特定的瞬间,精确到毫秒。1000毫秒=1秒

时间的原点:公元1970年 一月一日,午夜0:00:00 对应的毫秒值就是0

注意:时间和日期的计算,必须依赖毫秒值

1 long d =System.currentTimeMillis();   system.currentTimeMillis()获取当前的毫秒值
2         System.out.println(d);

构造函数

1     Date d1 =new Date(d);
2         System.out.println(d1); 

Date类常用方法

1 long d =System.currentTimeMillis();   获取当前的毫秒数给d,用getTime方法转成毫秒数
2 Date d1 =new Date();
3 System.out.println(d1.getTime());

DateFormat类

DateFormat 是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化并解析日期或时间。日期/时间格式化子类(如 SimpleDateFormat类)允许进行格式化(也就是日期 -> 文本)、解析(文本-> 日期)和标准化。

 日期格式

构造方法

DateFormat类方法

1     SimpleDateFormat sim =new SimpleDateFormat("yyyy-MM-d HH:mm:ss");  创建日期格式类型
2         Date d =new Date();                          获取当前日期
3         String str =sim.format(d);                      把当前日期传进来,调用format方法,并赋值给str
4         System.out.println(str);                        

l DateFormat类的作用:即可以将一个Date对象转换为一个符合指定格式的字符串,也可以将一个符合指定格式的字符串转为一个Date对象。

指定格式的具体规则我们可参照SimpleDateFormat类的说明,这里做简单介绍,规则是在一个字符串中,会将以下字母替换成对应时间组成部分,剩余内容原样输出:

l 当出现y时,会将y替换成年

l 当出现M时,会将M替换成月

l 当出现d时,会将d替换成日

l 当出现H时,会将H替换成时

l 当出现m时,会将m替换成分

l 当出现s时,会将s替换成秒

 DateFormat类常用方法

1 SimpleDateFormat sim =new SimpleDateFormat("yyyy-MM-dd");
2         String  d ="2018-05-25";    创建字符串类型的日期格式
3         Date dd =sim.parse(d);    调用parse方法传值字符串赋值给dd
4         System.out.println(dd);

l format方法,用来将Date对象转换成String

l parse方法,用来将String转换成Date(转换时,该String要符合指定格式,否则不能转换)。

 Calendar类

Calendar是日历类,在Date后出现,替换掉了许多Date的方法。该类将所有可能用到的时间信息封装为静态成员变量,方便获取。

Calendar为抽象类,由于语言敏感性,Calendar类在创建对象时并非直接创建,而是通过静态方法创建,将语言敏感内容处理好,再返回子类对象

Calendar类静态方法

1 Calendar c =Calendar.getInstance();
2         System.out.println(c);    返回当前日历

Calenar常用方法

YEAR 年

MONTH 月,从0开始算起,最大11;0代表1月,11代表12月。

DATE 天

HOUR 时

MINUTE分

SECOND秒

1 Calendar c =Calendar.getInstance(); 获取日历,用get方法获取月份
2 System.out.println(c.get(Calendar.YEAR));

1 Calendar c =Calendar.getInstance();
2 c.add(Calendar.YEAR, 3);           //add偏移,向后3年。 打印输出2021年
3 System.out.println(c.get(Calendar.YEAR));

1 Calendar c =Calendar.getInstance();
2 c.set(Calendar.YEAR, 2022);      //可以一个一个属性的改,也可以一次改好多个属性
3 c.set(2020, 7, 7, 7, 7, 7);
4 System.out.println(c.get(Calendar.YEAR)); 

1 Calendar c =Calendar.getInstance();   将日历对象转成日期对象
2 System.out.println(c.getTime());

1.1 注意事项

西方星期的开始为周日,中国为周一。

在Calendar类中,月份的表示是以0-11代表1-12月。

日期是有大小关系的,时间靠后,时间越大。

 小练习

求出自己已经出生多少天

1 long a=System.currentTimeMillis();   //获取当前的毫秒数
2 Calendar ca =Calendar.getInstance();  //获取当前的日历,然后改成出生日期
3 ca.set(1996, 8,20);
4 Date b =ca.getTime();           //将这个日历转成日期格式,再转成毫秒数
5 long c =b.getTime();
6 long d =(a-c)/24/60/60/1000;       //毫秒数相减,当前的毫秒数前去出生的
7 System.out.println(d);*/

 

转载于:https://www.cnblogs.com/wangrongchen/p/9090962.html

java Dated Dateformat Calendar相关推荐

  1. Java Date 和 Calendar 实例

    Java 之 Date 和 Calendar 实例 [java] view plaincopy print? package com.homer.learn; import java.text.Dat ...

  2. Java Date 和 Calendar

    Java 语言的Date(日期),Calendar(日历),DateFormat(日期格式)组成了Java标准的一个基本但是非常重要的部分.日期是商业逻辑计算一个关键的部分,所有的开发者都应该能够计算 ...

  3. java中如何使用add方法_使用Java中的Calendar.add()方法将秒添加到当前日期

    为Java中的Calendar类导入以下软件包.import java.util.Calendar; 首先,创建一个Calendar对象并显示当前日期和时间.Calendar calendar = C ...

  4. Calendar导入java,Java程序使用Calendar.add()方法将分钟添加到当前时间

    为Java中的Calendar类导入以下软件包.import java.util.Calendar; 首先,创建一个Calendar对象并显示当前日期和时间.Calendar calendar = C ...

  5. java calendar 下个月_使用Java中的Calendar类增加一个月

    为Java中的Calendar类导入以下包import java.util.Calendar; 首先,创建一个Calendar对象并显示当前日期Calendar calendar = Calendar ...

  6. Java中DateFormat类

    Java中DateFormat类 DateFormat是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化并解析日期和时间. 包含两个功能: ①格式化(日期->文本) ②解析(文本-> ...

  7. java中dateFormat是什么_Java中的DateFormat用法举例

    觉得这个DateFormat是比较实用,记录一下,文章来自csdn博客中的一个名叫空心兜兜的网友. class="java"> import java.util.Date; ...

  8. java日期减天数_使用Java中的Calendar.DATE从当前日期减去天数

    为Java中的Calendar类导入以下软件包.import java.util.Calendar; 首先,创建一个Calendar对象并显示当前日期.Calendar calendar = Cale ...

  9. Java 日历类 Calendar

    Java 日历类 Calendar 1.java.util.Calendar(日历)类 1.java.util.Calendar(日历)类 Calendar是一个抽象基类,==主要用于完成日期字段之间 ...

最新文章

  1. UI培训分享:UI设计行业常见术语有哪些?
  2. java enter_Java UI.enter方法代码示例
  3. 《文明之光 第二册》一一10.1 罗卡尔角的夕阳—— 葡、西的殖民时代(1)
  4. Linux/Unix下tar命令详解
  5. d3 i5 神舟精盾k480n_6款神舟精盾轻薄记本发布,10nm十代酷睿,匠心打造国潮好本...
  6. 回归分析什么时候取对数_冬蜜什么时候取,冬天取蜂蜜的方法
  7. 理光打印机如何设置邮件服务器,技术员帮您win10系统网络共享理光打印机的设置方法的操作办法...
  8. MTK Android 配置pmic电源
  9. Akka-CQRS(9)- gRPC,实现前端设备与平台系统的高效集成
  10. 使用JS数组迭代方法渲染页面数据并实现查询功能
  11. Yolov5的配置+训练(超级详细!!!)
  12. Windows Server 2012 和 System Center 2012 SP1,Virtual Machine Manager 中启用的软件定义的网络
  13. 渗透工具NessusToReport:一个nessus自动报告生成工具,可以用来自动生成nessus扫描器的中文报告--NessusToReport
  14. 博客常见线条背景动效-JavaScript
  15. 蚂蚁金服 Service Mesh 实践探索 | Qcon 实录
  16. WPF源码控件库《Newbeecoder.UI》轮播
  17. 本地调试邮件可发送,linux服务器邮件发送报错javax.mail.MessagingException: 501 5.5.4 Invalid argument
  18. 一切编程语言都是纸老虎
  19. 强推Windows资源管理器软件Clover,类似谷歌 Chrome 浏览器的多标签页
  20. 转-2017双十一阿里技术汇总

热门文章

  1. 使用c#类库绘制柱状图
  2. 今週木曜日までの日程表
  3. linux网络协议栈之数据包处理过程,Linux网络协议栈之数据包处理过程
  4. 自定义曲线_完美动力小课堂:AnimationCurve(动画曲线编辑) 如何使用?
  5. moldflow2019安装教程
  6. Keil forc51安装教程
  7. C语言编写DFT计算程序, 并绘制幅度谱
  8. 数字语音信号处理学习笔记——语音信号的短时时域分析(1)
  9. 用户模式 VS 内核模式(1)
  10. timerpickerview使用_详解iOS App中UIPickerView滚动选择栏的添加方法