Date类概述

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

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

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

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

构造函数

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

Date类常用方法

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

DateFormat类

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

 日期格式

构造方法

DateFormat类方法

     SimpleDateFormat sim =new SimpleDateFormat("yyyy-MM-d HH:mm:ss");  创建日期格式类型
Date d =new Date();                          获取当前日期
String str =sim.format(d);                      把当前日期传进来,调用format方法,并赋值给str
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类常用方法

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

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

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

 Calendar类

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

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

Calendar类静态方法

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

Calenar常用方法

YEAR 年

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

DATE 天

HOUR 时

MINUTE分

SECOND秒

 Calendar c =Calendar.getInstance(); 获取日历,用get方法获取月份
System.out.println(c.get(Calendar.YEAR));
 Calendar c =Calendar.getInstance();
c.add(Calendar.YEAR, 3); //add偏移,向后3年。 打印输出2021年
System.out.println(c.get(Calendar.YEAR));
 Calendar c =Calendar.getInstance();
c.set(Calendar.YEAR, 2022);      //可以一个一个属性的改,也可以一次改好多个属性
c.set(2020, 7, 7, 7, 7, 7);
System.out.println(c.get(Calendar.YEAR));
 Calendar c =Calendar.getInstance();   将日历对象转成日期对象
System.out.println(c.getTime());

1.1 注意事项

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

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

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

 小练习

求出自己已经出生多少天

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

 

java Dated Dateformat Calendar的更多相关文章

  1. 常用类一一时间处理相关类一一java.util.Tomezone(java.util.Calendar , java.util.Date , java.text.DateFormat)

    时间处理相关类 时间是一个一维的东东.所以,我们需要一把刻度尺来区表达和度量时间.在计算机世界,我们把1970 年 1 月 1 日 00:00:00定为基准时间,每个度量单位是毫秒(1秒的千分之一). ...

  2. java日期处理 calendar 和date

    抄的人家的,仅作学习使用. java Date获取 年月日时分秒     package com.util;   import java.text.DateFormat; import java.ut ...

  3. Java Date 和 Calendar

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

  4. java.text.DateFormat 多线程并发问题

    在日常开发中,java.text.DateFormat 应该算是使用频率比较高的一个工具类,经常会使用它 将 Date 对象转换成字符串日期,或者将字符串日期转化成 Date 对象.先来看一段眼熟的代 ...

  5. java.text.DateFormat 日期格式化

    一: java.text.DateFormat <%@ page language="java" contentType="text/html; charset=u ...

  6. Java Date and Calendar examples

    Java Date and Calendar examples This tutorial shows you how to work with java.util.Date and java.uti ...

  7. java中Dateformat类的详细使用(详解)

    DateFormat其本身是一个抽象类,SimpleDateFormat 类是DateFormat类的子类,一般情况下来讲DateFormat类很少会直接使用,而都使用SimpleDateFormat ...

  8. Java中的Calendar方法

    /** * @Title:JavaDate.java * @Package:com.yhd.chart.model * @Description:Java中的Calendar总结 * @author: ...

  9. Java中的Calendar日历用法详解

    第一部分 Calendar介绍 public abstract class Calendar implements Serializable, Cloneable, Comparable<Cal ...

随机推荐

  1. sublime使用技巧之集成VI

    熟悉开发工具,减少多余的操作流程有助于提高开发效率,而Sublime Text 2是sublime产品的经典版本,因此本文基于Sublime Text 2讲解sublime的使用技巧. VI的主要作用 ...

  2. Django Push 的一些资料

    先来中文的: 主要讲Orbited: http://sunsetsunrising.com/2009/django_comet.html#gsc.tab=0 再来英文的: http://www.rkb ...

  3. JS windows对象的top属性

    原博文:http://www.jb51.net/article/44078.htm   本文为大家介绍下JS window对象的top.parent.opener含义,不了解的朋友可以参考下,希望对大 ...

  4. centos7虚拟机设置静态ip

    cd /etc/sysconfig/network-scripts/ vi ifcfg-enp0s3 1.修改配置 BOOTPROTO=static2.新增配置(查询宿主机对应的信息) IPADDR= ...

  5. Effective C++ 读书笔记(1-7)

    作者 Scott Meyers  翻译作者 侯捷 C++ 神牛 台湾人 术语: 1.explicit C++提供了关键字explicit,可以阻止不应该允许的经过转换构造函数进行的隐式转换的发生.声明 ...

  6. Egg Dropping Puzzle问题的分析

    首先,基本问题是这样:You are given two eggs, and access to a 100-storey building. The aim is to find out the h ...

  7. 浮点型 float和double类型的内存结构和精度问题

    首先引用一个例子在java中可能你会遇到这样的问题: 例:0.99999999f==1f //true 0.9999999f==1f //false 这是超出精度造成的,为了知道为什么会造成这样的问题 ...

  8. 集群搭建(一)克隆虚拟机静态IP设置

    [抛出问题] 当在搭建集群的时候,我们会将一个安装好相关程序的虚拟机进行克隆,克隆之后,我们会发下一些问题:就是原先的eth0 网卡不见了 原先的网卡 而克隆之后的网卡 会发现原来的网卡eth0 变为 ...

  9. 利用Swagger2自动生成对外接口的文档

    一直以来做对外的接口文档都比较原始,基本上都是手写的文档传来传去,最近发现了一个新玩具,可以在接口上省去不少麻烦. swagger是一款方便展示的API文档框架.它可以将接口的类型最全面的展示给对方开 ...

  10. PAT1046: Shortest Distance

    1046. Shortest Distance (20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue The ...