本文主要是介绍JAVA 日期时间(Date类、SimpleDateFormat类和Calendar类),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录
Date类
创建Date对象
修改时间
获取时间毫秒数
SimpleDateFormat类
创建SimpleDateFormat对象
格式化日期
解析字符串日期
Calendar类
Calendar类中的常量
创建Calendar对象
更改日期
增加或减少相应日期
Date类
首先需要知道对于时间的转换进制
1秒=1000毫秒
1毫秒=1000微秒
1微妙=1000纳秒
使用Date类需要导入包,导入方式
import java.util.Date;
创建Date对象
Date类提供了两个创建对象的方法
方法一:
使用当前日期和时间
示例
Date time=new Date();
方法二:
指定时间,该参数是从1970年1月1日8点整起的毫秒数
示例
Date time=new Date(0L);
解释:毫秒数使用long型存储,使用0L可以获取起始时间
修改时间
使用setTime()方法可以修改时间
示例
Date time=new Date(0L); time.setTime(86400000L);
解释:86400000=1天*24小时*60分钟*60秒*1000毫秒,实际上就是加了一天,时间相当于被修改到一天后
获取时间毫秒数
使用getTime()方法可以获取毫秒数
示例
Date time=new Date(0L); long t=time.getTime();
解释:t储存为0毫秒
SimpleDateFormat类
y年M月d日
H时m分s秒
E周
对应的字母对应格式化的时间
使用 SimpleDateFormat类 需要导入包,导入方式
import java.text.SimpleDateFormat;
创建SimpleDateFormat对象
Date类提供了两个创建对象的方法
方法一:
使用初始化日期格式
示例
SimpleDateFormat sdf=new SimpleDateFormat();
解释:使用初始化日期格式,以1970年1月1日8点举例,转换为字符串格式为1970/1/1 08:00
方法二:指定日期格式
示例SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒 EE");
解释:使用指定日期格式,以1970年1月1日8点举例,转换为字符串格式为1970年01月01日 08时00分00秒 周四
格式化日期
使用format()方法来格式化字符串
示例
Date time=new Date(0L); SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒 EE"); String str=sdf.format(time);
解释:str中储存的字符串即为1970年01月01日 08时00分00秒 周四
解析字符串日期
使用prase()方法解析字符串日期,创建SimpleDateFormat对象格式要跟字符串格式完全一样
如果解析的字符串与格式化日期不一致将会抛出ParseException异常
需要导入
import java.text.ParseException;
在main后加throws ParseException即可
public static void main(String[] args) throws ParseException { }
示例
String str="1970年01月01日 08时00分00秒 周四"; SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒 EE"); Date time=sdf.parse(str); long t= time.getTime();
解释:解析后获取time的时间毫秒,t的值为0
Calendar类
Calendar是一个抽象类不能直接new创建对象,需要通过一个静态方法获取子类对象
使用 Calendar类 需要导入包,导入方式
import java.util.Calendar;
Calendar类中的常量
Calendar类中有许多常量,例如Calendar.YEAR代表年份,数值为1,Calendar.MONTH代表月份,数值2,Calendar.DAY_OF_WEEK代表星期几,数值为7
0为纪元,1为年,2为月,3一年中的第几周,4一个月中的第几周,5一个月中的第几天等等
对于月份,有0~11,其中如果获取0代表1月
对于星期:有1~7,其中1代表星期日,2代表星期一
创建Calendar对象
Calendar c=Calendar.getInstance();
获取为当前时间的日历对象
更改日期
使用set()方法和setTimeInMillis()方法可以更改日期
对于set()方法
示例一:
设置日期
Calendar c=Calendar.getInstance(); c.set(1970,1,1);
解释:c对象的年月日分别设为1970,1,1
示例二:更改日期
Calendar c=Calendar.getInstance(); c.set(Calendar.YEAR,1970);
解释:将c对象的年份更改为1970,也可以将Calendar.YEAR替换为1
对于setTimeInMillis()方法,与Date类setTime()方法的使用方法相同,同理getTimeInMillis() 与Date类getTime()方法的使用方法也相同
相应的get()方法可以获取对应的常量代表的含义的值示例
Calendar c=Calendar.getInstance(); int year=c.get(Calendar.YEAR);
增加或减少相应日期
使用add()方法可以增加或减少对应的常量代表的含义的值
示例
Calendar c=Calendar.getInstance(); c.add(Calendar.YEAR, -10);
解释:c对象的年份减少10年
这篇关于JAVA 日期时间(Date类、SimpleDateFormat类和Calendar类)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!