java日期类小总结

平时开发过程中肯定是要跟日期打交道的,基本上是任何系统都离不开日期,所以我来总结一下                

    Date,DateFormat,SimpleDateFormat,Calendar

                                    

Date类:

在java.util包下,类 Date 表示特定的瞬间,精确到毫秒。从 JDK 1.1 开始,应该使用 Calendar 类实现日期和时间字段之间转换,使用 DateFormat 类来格式化和分析日期字符串。Date 中的相应方法已废弃。所以Date主要用来生成时间(是网上见解,我也是这样认为的)。

(1)Date有两个构造方法:

(1)Date():分配 Date 对象并初始化此对象,以表示分配它的时间(精确到毫秒)。

(2)Date(long date)基本上没用不用记。

eg:Date date=new Date();  System.out.println(date);输出:Tue Jun 16 20:51:24 CST 2015

(2)Date常用方法:

boolean after(Date when) 测试此日期是否在指定日期之后  

没什么用我感觉)                   boolean before(Date when) 测试此日期是否在指定日期之前          

   int compareTo(Date anotherDate) 比较两个日期的顺序            

 

DateFormat类:

在java.text包下,DateFormat 是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化并解析日期或时间。很多java培训的视频里面都讲过,这个类是抽象类,所以不能构造方法来实例化,可以用getDateInstance()和getDateTimeInstance()这两个静态函数来进行实例化。这两个的区别是一个返回的是日期,一个返回的是日期+时间.同时,getDateInstance(int style),getDateInstance(int style, Locale aLocale)等方法也挺好用的。关于style值:

FULL: 长度最长 比如:2013年1月9日 星期三        LONG: 长度更长 比如:January 9, 2013

MEDIUM:长度比SHORT长 比如:Jan 9,2013           SHORT: 完全为数字,比如:13/1/9

eg:DateFormat d1=DateFormat.getDateInstance();

DateFormat d2=DateFormat.getDateTimeInstance();

String s1=d1.format(new Date());

String s2=d2.format(new Date());         输出:2015-6-16

System.out.println(s1);                        2015-6-16 21:05:22

System.out.println(s2);

eg1:DateFormat d1=DateFormat.getDateInstance(DateFormat.LONG);       输出:2015年6月16日

3、

在java.text包下,它是DateFormat类的直接子类,继承DateFormat类。我是这么理解SimpleDateFormat类的,它相对于Datef类更接地气,你可以随意给他指定一个形式的日期,进行更改。SimpleDateFormat类主要功能是完成日期之间格式的转换,而且在转换过程中需要采用如下步骤:1.指定一个模板,并根据这个模板,取出第一个所有的时间数字。2.所有的时间数字将采用Date类保存。3.将所有的时间数字重新进行格式转换。模板如下表,注意区分大小写

日期 模板 描述
Y 表示年:yyyy
M 表示月:MM
d 表示日:dd
HH 表示时:HH
mm 表示分:mm
ss 表示秒:ss
毫秒 S 毫秒:SSS

eg:SimpleDateFormat sdf=new SimpleDateFormat("y年M月d日    HH:mm:ss D");    //也可以是"yyyy年MM月dd日

System.out.println(sdf.format(new Date()));        输出:2015年6月16日    21:39:10 167

4、

在java.util包下,Calendar 类是一个抽象类,它为“特定瞬间”与一组诸如 “YEAR”、

“MONTH”、“DAY_OF_MONTH”、“HOUR ”等日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。Calendar实例化有两种方式,第一种是 Calendar nowTime = new GregorianCalendar();,第二种是Calendar calendar=Calendar.getInstance();

eg:Calendar c=Calendar.getInstance();

System.out.println(c.get(Calendar.YEAR)+"年"+(c.get(Calendar.MONTH)+1)+"月"+

c.get(Calendar.DATE)+"日"+c.get(Calendar.HOUR)+"点");   // 输出:2015年6月16日9点

(1)常用的方法:

add(int date,int num);//返回num前后的日期//date表示日期字段,num表示添加的天数;

get(int date);//通过获取字段,返回具体的信息;

时间: 2024-10-05 11:57:30

java日期类小总结的相关文章

利用java日期类生成数据仓库维度表

利用java日期类生成数据仓库维度表 Date类: 最基础的日期时间类,返回一个相对日期的毫秒数.精确到毫秒,但不支持日期的国际化和分时区显示.Date 类从Java 开发包(JDK)1.0 就开始进化,当时它只包含了几个取得或者设置一个日期数据的各个部分的方法, 比如说月, 日, 和年. 这些方法现在遭到了批评并且已经被转移到了Calendar类里去了,这种改进旨在更好的处理日期数据的国际化格式. Calender类: 相对于Date更加强大的时间类,是抽象类,提供了常规的日期修改功能和国际化

Java 日期类Date 学习

Java?日期构造构造函数1 声明一个日期, 默认返回当前系统时间Date() 构造函数2 接收一个参数,该参数是从1970年1月1日起的毫秒数.Date(100000) 返回1970年+毫秒数 /*java-er.comlearn java is so easy/import java.util.Date;public class Test {public static void main(String[] args){Date date = new Date();System.out.pri

关于java日期类Date,DateFormat,SimpleDateFormat,Calendar总结

                      Date,DateFormat,SimpleDateFormat,Calendar                                      1.Date类: 在java.util包下,类 Date 表示特定的瞬间,精确到毫秒.从 JDK 1.1 开始,应该使用 Calendar 类实现日期和时间字段之间转换,使用 DateFormat 类来格式化和分析日期字符串.Date 中的相应方法已废弃.所以Date主要用来生成时间(是网上见解,

Java日期类题目

每类题都有各种各样解决的方式,大家随意发散 分析以下需求,并用代码实现 1.已知日期字符串:"2015-10-20",将该日期字符串转换为日期对象 2.将(1)中的日期对象转换为日历类的对象 3.根据日期对象获取改日期是星期几,以及这一年的第几天 4.通过键盘录入日期字符串,格式(2015-10-20) 如输入:2015-10-20,输出"2015年-10月-20日 是 星期二,是2015年的第 293 天" 原文地址:https://www.cnblogs.com

java 日期类练习

求出今天距离2020年1月1日还有多少天 package com.oracle.demo01; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public class WWork { public static void main(String[] args) throws ParseException {

java 日期类 小结

import java.text.*; import java.util.*; class Test2 { public static void main(String[] args) { System.out.println(System.currentTimeMillis()); // 该方法是返回当前的计算机时间,时间的表达格式为当前计算机时间和GMT时间(格林威治时间)1970年1月1日0时0分0秒所差的毫秒数. long currentTime=System.currentTimeMi

Java 日期类 Calendar

package com.xuyigang1234.chp05.sec01; import java.util.Calendar;; public class TestCalendar { public static void main(String[] args) { Calendar cal = Calendar.getInstance(); System.out.println("现在是:"+cal.get(Calendar.YEAR)+"年" +(cal.ge

java 日期类

用来计算未来某个时刻与现在的时间间隔. Date Calendar

全面解析Java日期时间API

时区 GMT(Greenwich Mean Time):格林尼治时间,格林尼治标准时间的正午是指当太阳横穿格林尼治子午线时(也就是在格林尼治上空最高点时)的时间. UTC(Universal Time Coordinated):统一协调时间,其以原子时秒长为基础,在时刻上尽量接近于格林尼治标准时间,标准 UTC 时间格式 yyyy-MM-dd'T'HH:mm:ss.SSSXXX. 格林尼治时间已经不再被作为标准时间使用,UTC 是最主要的世界时间标准. Java提供了获取当前时间的方法 Syst