JAVA-基础-常用API(时间日期类,Date,Dateformat,Calendar)

Date

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

毫秒概念:1000毫秒=1秒

毫秒的0点:

System.currentTimeMillis()  返回值long类型参数

用于获取当前日期的毫秒值

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

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

继续查阅Date类的描述,发现Date拥有多个构造函数,只是部分已经过时,但是其中有未过时的构造函数可以把毫秒值转成日期对象。

String ToString()   把此Date 类型转换为以下形式 String down Mon dd hh:mm:ss zzz yyyy  已过时

DateFormat.format(Date date)

long getTime()   返回自 1970年1月1日 00:00:00 GMT 以来  此Date 对象表示的毫秒数

DateFormat

DateFormat 是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化并解析日期或时间。

DateFormat 可帮助进行格式化并解析任何语言环境的日期。对于月、星期,甚至日历格式(阴历和阳历),其代码可完全与语言环境的约定无关。

DateFormat是抽象类,我们需要使用其子类SimpleDateFormat来创建对象。

构造方法:

SimpleDateFormat(String pattern)  用给定的模式和默认语言环境的日期格式符号构造 SimpleDateformat

DateFormat类方法:

String format(Date date)  将一个Date格式化为日期/时间 字符串

代码演示:
//创建日期格式化对象,在获取格式化对象时可以指定风格
DateFormat df= new SimpleDateFormat("yyyy-MM-dd");//对日期进行格式化
Date date = new Date(1607616000000L);
String str_time = df.format(date);
System.out.println(str_time);//2020年12月11日

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

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

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

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

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

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

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

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

把String转换成Date对象
    String str = ”2020年12月11日”;
    DateFormat df = new SimpleDateFormat(“yyyy年MM月dd日”);
    Date date = df.parse( str );
    //Date对象中的内容为Fri Dec 11 00:00:00 CST 2020

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

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

Date parse(String source)

      Calendar

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

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

static Calendar  getInstance   使用默认时区和和语言环境来获得一个日历

Calendar c = Calendar.getInstance();-----------返回当前时间

Calendar类常用方法

abstract void add (int field, int amount)  根据日历规则 为给定的日历字段加减指定的时间量

int get(int filed)  返回给定日历字段的值

static Calendar getInstance()   使用默认时区和语言环境获得一个日历

Date getTime () 返回一个表示此 Calendar 时间值(从元年到现在的毫秒偏移量)的Date对象

void set (int filed ,int value)

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

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

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

1.1     求出自己已经出生多少天

思路:

1.获取当前时间对应的天数

2.获取自己出生日期对应的天数

3.两个时间相减(当前时间天数 – 出生日期天数)

代码实现:

public static void main(String[] args){

Calendar my = Calendar.getInstance();

Calendar c = Calendar.getInstance();

//设置出生年月日 1995-05-10

my.set(Calendar.YEAR, 1995);

my.set(Calendar.MONTH, 4);

my.set(Calendar.DATE, 10);

//获取时间中的天数

Calendar my = Calendar.getInstance();

Calendar c = Calendar.getInstance();

//设置年月日 2020-01-01

my.set(Calendar.YEAR, 2020);

my.set(Calendar.MONTH, 0);

my.set(Calendar.DATE, 1);

//获取时间中的天数

int day = c.get(Calendar.DATE);

int myDay = my.get(Calendar.DATE);

System.out.println(myDay - day);

}

int day = c.get(Calendar.DATE);

int myDay = my.get(Calendar.DATE);

System.out.println(day - myDay);

}

原文地址:https://www.cnblogs.com/zhangwei2065289/p/9225767.html

时间: 2024-12-09 15:37:50

JAVA-基础-常用API(时间日期类,Date,Dateformat,Calendar)的相关文章

Java常用类库之时间操作类——Date、Calendar、DateFormat、SimpleDateFormat及实例操作

学习目标 掌握Date类的使用 可以使用Calendar类取得一个完整的日期 掌握日期格式化的操作 可以使用SimpleDateFormat进行日期的格式化转换操作 编写取得日期的操作类 进一步掌握Calendar类的使用 进一步掌握SimpleDateFormat类的使用 Date类是一个较为常用的类,但是其操作的日期格式会有一些不符合个人要求,而如果想要进一步取得一些自己需要的时间,则可以使用Calendar类. Date类 在java.util包中定义了Date类,Date类本身使用非常简

时间日期处理date,Calendar类

1.         Date类(该类现在很少用了) l         Date类对象的创建: n         创建一个当前时间 //默认是创建一个代表系统当前日期的Date对象 Date d = new Date(); n         创建一个我们指定的时间的Date对象: 下面是使用带参数的构造方法,可以构造指定日期的Date类对象,Date类中年份的参数应该是实际需要代表的年份减去1900,实际需要代表的月份减去1以后的值. //创建一个代表2009年6月12号的Date对象 D

一天一个linux基础命令之时间日期命令date

时间日期命令:date 1.命令格式: date [OPTION]... [+FORMAT]        date [-u|--utc|--universal][MMDDhhmm[[CC]YY][.ss]] 2.命令功能 打印不同格式的时间或日期,以及要根据时间和日期执行操作.日期可以以多种格式去打印,也可以使用命令设置固定的格式.在类UNIX系统中,日期被存储为一个整数,其大小为自世界标准时间(UTC)1970年1月1日0时0分0秒起流逝的秒数. 3.常用选项 -d "String"

Java:日期类Date与Calendar

怎么获取系统系统时间,通过java? Date now= new Date(); SimpleDateFormat dateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSSSSSSSS"); String nowFormate= dateFormat.format(now); System.out.println(nowFormate); 输出结果 2017-02-16 20:56:12.000000278 如何获取当前系统是星期

黑马程序员——java基础---常用API

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 一.String类 概念:String类代表字符串.Java 程序中的所有字符串字面值("abc")都作为此类的实例实现.又因为该类被final修饰,表明它不能被其它类所继承,其下的一系列关于字符串的操作方法也就无法被复写. 特点:字符串一旦被创建,将无法改变其值. 1 public class StringTest { 2 3 public static void main(Str

与时间有关的类Date,DateFormat,Calendar

Date类用于表示日期和时间.它没考虑国际化问题,所以又设计了另外两个类. Calendar类: 主要是进行日期字段之间的相互操作. 编程实例:计算出距当前日期时间315天后的日期时间,并使用"xxxx年xx月xx日xx小时:xx分:xx秒"的格式输出. import java.util.*; import java.text.SimpleDateFormat; //由于simpledateformat和dateformat在这个包中 public class TestCalendar

java 时间类Date和Calendar

Java的时间类经常用到,主要是两个类Date和Calendar,分别做下介绍. 一.Date 1.在 package java.util 类定义如下: public class Date implements java.io.Serializable, Cloneable, Comparable<Date>{} 类 Date 表示特定的瞬间,精确到毫秒. 在 JDK 1.1 之前,类 Date 有两个其他的函数.它允许把日期解释为年.月.日.小时.分钟和秒值.它也允许格式化和解析日期字符串.

java — 时间日期类

java -- 时间日期类的简单操作 一.java.util.Date类 获取系统时间 1 public static void main(String[] args) { 2 // 使用Date获取系统时间 3 Date date = new Date(); 4 System.out.println(date); 5 } 输出结果:Sun Jan 13 12:30:30 CST 2019 输出结果不符合中国人的阅读习惯,我们得使用 SimpleDateFormat类 进行一些操作,按照我们自己

Java核心API -- 4(日期类)

1. Date类(Java.utilDate) java.util.Date类用于封装日期及时间信息,一般仅用它显示某个日期,不对他作任何操作处理,作处理用Calendar类,计算方便. //创建一个Date实例,默认的构造方法创建的日期代表当前系统时间 Date date=new Date(); //此类重写了toString()方法,输出的是日期格式 System.out.println(date); //查看date内部的毫秒值 long time=date.getTime(); // 设