【一周搞定JAVA】之时间、日期、日历类的装换
-------------------->如何在时间日期日历之间随意的转换,是java很基础的操作。这篇文章主要是讲解这它们之间的
随意装换。
1、Date 类
学习Date类必须要知道下面几个知识点:
a、获取现在时间的方法: Date nowTime=new Date;
b、使用上面对象的getTime()方法,可以获取时间原点到nowTime的毫秒时间,类型为Long;
c、时间原点为(1970年1月1日00:00:000);
2、SimpleDateFormat类
时间日期之间的主要类,靠SimpleDateFormat类中的方法实现时间转化文本,文本转化时间的自由操作.
时间---->文本=====SimpleDateFormat.format(Date)
文本---->时间=====SimpleDateFormat.parse(String)
注意:文本转时间时,输入的String格式要和new SimpleDateFormat("pattren")中pattren格式一样
下面用一段代码做示例,方便大家理解:
public static void main(String[] args) throws ParseException {
//把String转换成Date对象
DateFormat df1 = new SimpleDateFormat("yyyy年MM月dd日");
String str1 = "2018年12月11日";//这里的str1就是和上面new 对象中的格式一样
Date date1 = df.parse(str1);
System.out.println(date1); // Tue Dec 11 00:00:00 CST 2018
//把Date对象转换成String
Date date = new Date();
// 创建日期格式化对象,在获取格式化对象时可以指定风格
DateFormat df = new SimpleDateFormat("yyyy年MM月dd日");
String str = df.format(date);
System.out.println(str); // 2008年1月23日
}
3、 Calendar类
Calendar类是一个抽象类,使用此类不能直接new对象,要调用特定的方法Calendar.getInstance()返回一个Calendar对象。
常用方法:
Calendar.set()------->设置日历内里面的时间轴,例如:cal.set(2018,12-1,17);//2018年12月17日
Calendar.get()------->获取日历类里面相应的参数,例如:cal.get(Calendar.MONTH+1);//12
Calendar.add()------->更改日历里面参数
DAY_OF_YEAR------->指示当前年中的天数
DAY_OF_WEEK------->指示一个星期中的某天
DAY_OF_MONTH------->指示一个月中的某天。
注意:程序中的时间与我们生活的时间有差别:
a.日历类中的每周是从星期天到星期六的
b.日历类中的月份是没有12月的,它的11月相当于我们的12月
public static void main(String[] args) throws ParseException {
Calendar cal=Calendar.getInstance();
//在日历类中设置2018年12月17日
cal.set(2018,12-1,17);
//更改周中某天的值,让日历类的输入可以符合中国时间
cal.add(Calendar.DAY_OF_WEEK,-1);
//获取日历类中这一天是星期几
int week=cal.get(Calendar.DAY_OF_WEEK);
System.out.println(week);//1
}