博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java日期类总结
阅读量:7054 次
发布时间:2019-06-28

本文共 4896 字,大约阅读时间需要 16 分钟。

hot3.png

1.Date(方法基本为过期方法)

//创建日期对象Date d = new Date();//获取年份得加上1900 DeprecatedSystem.out.println("year:"+(d.getYear()+1900));//获取月份+1 DeprecatedSystem.out.println("month:"+(d.getMonth()+1));//每月中的第几天(几号) DeprecatedSystem.out.println("date:"+d.getDate());//小时 DeprecatedSystem.out.println("hour:"+d.getHours());//分钟 DeprecatedSystem.out.println("minutes:"+d.getMinutes());//秒 DeprecatedSystem.out.println("seconds:"+d.getSeconds());//星期,数字0代表的是星期天  DeprecatedSystem.out.println("week:"+d.getDay());		//创建时间2013-10-29 09:15:59 ,年要减去1900 ,月份减1 DeprecatedDate dd = new Date(2013-1900,10-1,29,9,15,59);SimpleDateFormat smf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");System.out.println(smf.format(dd));

运行结果:

year:2013

month:10
date:29
hour:9
minutes:43
seconds:56
week:2
2013-10-29 09:15:59

2.Calendar

Calendar c =  Calendar.getInstance();c.set(2013, 9, 28, 5, 25, 36);//设定时间为:2013-10-28 5:25:36c.add(Calendar.DATE, 1);//日期加1后为 2013-10-29 5:25:36,其他的也可这样设置//年System.out.println(c.get(Calendar.YEAR));//月份,注意加1System.out.println(c.get(Calendar.MONTH)+1);//月份中的第几天System.out.println(c.get(Calendar.DATE));//小时System.out.println(c.get(Calendar.HOUR));//分钟System.out.println(c.get(Calendar.MINUTE));//秒System.out.println(c.get(Calendar.SECOND));//星期:1代表星期日,2代表星期一,依次类推System.out.println(c.get(Calendar.DAY_OF_WEEK));

运行结果:

2013

10
29
5
25
36
3

3.GregorianCalendar类

GregorianCalendarCalendar 的一个具体子类,提供了世界上大多数国家使用的标准日历系统。

GregorianCalendar类对象的创建

GregorianCalendar有自己的构造方法,而其父类Calendar没有公开的构造方法。

GregorianCalendar()

在具有默认语言环境的默认时区内使用当前时间构造一个默认的 GregorianCalendar。

GregorianCalendar(int year, int month, int dayOfMonth)

在具有默认语言环境的默认时区内构造一个带有给定日期设置的 GregorianCalendar。

GregorianCalendar(int year, int month, int dayOfMonth, int hourOfDay, int minute)

为具有默认语言环境的默认时区构造一个具有给定日期和时间设置的 GregorianCalendar。

GregorianCalendar(int year, int month, int dayOfMonth, int hourOfDay, int minute, int second)

为具有默认语言环境的默认时区构造一个具有给定日期和时间设置的 GregorianCalendar。

创建一个代表当前日期的GregorianCalendar对象

GregorianCalendar gc = new GregorianCalendar();

//创建一个代表2013年10月29日的GregorianCalendar对象(月份要减去1)

GregorianCalendar gc = new GregorianCalendar(2013,10-1,29);

字段属性继承父类Calendar

另外:GregorianCalendar有下面一个方法:

isLeapYear(int year) //确定给定的年份是否为闰年

GregorianCalendar cc = new GregorianCalendar();

System.out.println(cc.isLeapYear(2013));//false

4.SimpleDateFormat

public class SimpleDateFormat extends DateFormat

SimpleDateFormat 是一个以与语言环境相关的方式来格式化和分析日期的具体类。它允许进行格式化(日期 -> 文本)、分析(文本 -> 日期)和规范化。

所以本类可以实现:String 到 Date Date到String的互转,如下:

//注意构造函数中是SimpleDateFormat类解析日期的模式,大小写代表的意义完全不一样哦

SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

//日期到字符串的转换

String today = df.format(new Date());

//字符串到日期的转换

Date date = df.parse("2013-10-29 09:55:56");

System.out.println(df.format(new Date()));

5.日期类对象之间的互转

a. Date类对象与long型时间的互转

//将Date类的对象转换为long型时间

Date d= new Date();

//使用对象的getTime()方法完成

long dLong = d.getTime();

//将long型时间转换为Date类的对象

long time = 1290876532190L;

//使用Date的构造方法完成

Date d2 = new Date(time);

b. Calendar对象和long型时间之间的互转

// 将Calendar对象转换为相对时间

Calendar c = Calendar.getInstance();

long t1 = c.getTimeInMillis();

// 将相对时间转换为Calendar对象

Calendar c1 = Calendar.getInstance();

long t = 1252785271098L;

c1.setTimeInMillis(t1);

c. Calendar对象和Date对象之间的互转

// 将Calendar对象转换为相对时间

Calendar c = Calendar.getInstance();

Date d = c.getTime();

// 将相对时间转换为Calendar对象

Calendar c1 = Calendar.getInstance();

Date d1 = new Date();

//通过setTime()方法后,日历c1所表示的日期就d1的日期

c1.setTime(d1);

6.几个常用方法

a.判断是否为瑞年

// 给定一个年份判断该年份是否为闰年public static boolean isLeapYear(int year) {	GregorianCalendar calendar = new GregorianCalendar();	return calendar.isLeapYear(year);}

b.获取当前日期的字符串表示形式

// 获取当前日期的字符串表示形式public static String getCurrentDate() {	SimpleDateFormat dateFormat = new SimpleDateFormat(			"yyyy-MM-dd HH:mm:ss");	return dateFormat.format(System.currentTimeMillis());}

 

c.获得距离今天n天的那一天的日期

// 获得距离今天n天的那一天的日期public static String getDate(int days) {	Calendar c = Calendar.getInstance();	c.add(Calendar.DAY_OF_MONTH, days);// 得到前n天	SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");	return sdf.format(c.getTime());}

d.给出任意一个年月日得到该天是星期几

// 给出任意一个年月日得到该天是星期几//返回值:0 代表星期日,1代表星期1,2代表星期2,以此类推public static int getWeek(String date) {	// 注意参数的大小写格式	SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");	Calendar c = Calendar.getInstance();	try {		Date d = dateFormat.parse(date);		c.setTime(d);	} catch (ParseException e) {	}	return c.get(Calendar.DAY_OF_WEEK) - 1;}

e.获得距离指定日期n天的那一天的日期

//获得距离指定日期n天的那一天的日期public static String getDistanceDay(String date, int day) {		 	 SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");	 Date d;	 Calendar c =Calendar.getInstance();	 try {	     d = dateFormat.parse(date);	     c.setTime(d);	     c.add(Calendar.DATE, day);	 } catch (ParseException e) {	     e.printStackTrace();	 }	 	 return dateFormat.format(c.getTime());}

参考:

转载于:https://my.oschina.net/u/853107/blog/172597

你可能感兴趣的文章
vim
查看>>
MacOs 开发环境设置
查看>>
Mac os远程登录Linux与文件传输
查看>>
Java随机数使用注意事项
查看>>
AngularJs学习日记[3]:ng-init
查看>>
git 删除错误提交的commit
查看>>
java泛型中T、E、K、V、?等含义
查看>>
python 运行 MySQL-python libmysqlclient.so.18: cannot open shared object file: No such file
查看>>
视频播放器推荐
查看>>
[root@AY140716161543837722Z ~]# man top
查看>>
C语言基础及指针⑩预编译及jni.h分析
查看>>
java打开IE浏览器
查看>>
PHP中$this的使用情况
查看>>
webview页面随设备分辨率缩放
查看>>
调侃面向对象编程的23种设计模式
查看>>
8-pandas聚合运算
查看>>
Kd-Tree算法原理和开源实现代码
查看>>
Mac Lion 下轻松更换 Caplock 键和 Control 键的映射--用于提升ema...
查看>>
在LispBox环境上安装 portableaserve 的详细过程
查看>>
通过 Land of Lisp 中的超简短字符游戏例程学习 loop 和 format
查看>>