Java常用API之Date类、DateFormat类、Calendar类浅显应用
2019-04-16 00:10
232 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_43180566/article/details/89323887
这是我第一次写播客,用来记录自己学习Java的方向和进程,探索Java语言世界的奇妙之旅。
如果文中有错误的地方,希望前辈们可以指点一二。
常用API——Date类
1、Date类的概述
类Date用来表示特定的瞬间,可以精确到毫秒 实际应用可以用来获取当前系统的时间信息,精确到毫秒值
2、Date类常用的构造方法
Date() 获取当前系统时间 Date(long time) 根据指定的毫秒值创建日期对象
3、Date类常用方法
long getTime() 获取当前时间的毫秒值
4、时间的转换
1秒=1000毫秒 时间零点:1970-1-1 00:00:00
5、相关应用
import java.util.Date; public class Demo01 { public static void main(String[] args){ // 创建日期对象:当前系统时间 Date date = new Date(); //获取当前系统时间信息 System.out.println(date); // 获得当前时间的毫秒值 System.out.println(date.getTime()); //将毫秒值转为时间 //毫秒值是唯一的,是单向性的 Date date2 = new Date(1555293724756L); System.out.println(date2); }
}
常用API——DateFormat类
1、DateFormat类的作用
1.将日期对象转换为字符串 Date==>String 2.将日期字符串转换为日期对象:String==>Date
2、如何创建一个DateFormat对象
DateFormat是一个抽象类,不能直接创建该类对象,只能创建子类对象 已知直接子类有:SimpleDateFormat 直接创建SimpleDateFormat对象,调用方法进行格式化操作即可。
3、SimpleDateFormat类常用的构造方法
SimpleDateFormat(String pattern) 根据日期模式创建日期格式化对象 日期模式 yyyy 年 2019 MM 月 04 dd 日 15 HH 时 23 mm 分 40 ss 秒 50
4、例子:将Date转成“xxxx年xx月xx日 xx时xx分xx秒”的格式
import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; public class Demo02{ public static void main(String[] args){ // 需求:将 Date 转成 "2019年09月15日 19时18分19秒" // 获得日期对象 Date date = new Date(); // 创建日期格式化对象并指定日期模式 // DateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒"); DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // 将日期对象转换为字符串 String dateStr = sdf.format(date); //输出 System.out.println(dateStr); }}
6、使用DateFormat类的方法将日期字符串转换为日期对象
1.创建日期格式化对象并指定日期模式:SimpleDateFormat 2.调用日期格式化对象的方法将日期字符串转换为日期对象:Date parse(String dateStr) 注意事项:指定的日期模式和字符串日期模式要一致。
7、DateFormat类常用方法有两个
String format(Date date) 日期转字符串 Date parse(String str) 字符串转日期
例子:
public class Demo03 { public static void main(String[] args) throws ParseException { // 1. 日期字符串:String String dateStr = "2007/12/26"; // 2. 创建日期格式化对象并指定日期模式:SimpleDateFormat SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd"); // 3. 调用日期格式化对象的方法将日期字符串转换为日期对象:Date parse(String dateStr) Date date = sdf.parse(dateStr); System.out.println(date); }}
常用API——Calender类
1、Calender的作用
非常方便的可以获取到年月日时分秒,昨天,前天,明天,上个星期,上个月,前几年… 可以方便的调整时间
2、创建Calender
Calender是一个抽象的类,不能直接创建对象,只能创建子类对象 通过Calendar类静态方法创建日历类对象,该方法如下: static Calendar getInstance() 获得日历对象
3、Calender类的常用方法
int get(int field) 根据日历字段获得值 常用的日历字段: 年 Calendar.YEAR 月 Calendar.MONTH 日 Calendar.DAY_OF_MONTH 时 Calendar.HOUR 分 Calendar.MINUTE 秒 Calendar.SECOND void set(int field, int value) * 修改指定日历字段的值为指定值value void add(int field, int amount) * 将指定日历字段的值在当前值的基础上偏移一个值:amount * 正数:向前偏移 + * 负数:向后偏移 -
5、Calender注意事项
MONTH: 取值范围0到11 需要加1才是我们正确的月份 DAY_OF_WEEK: 1代表星期天
例子:
import java.util.Calendar; public class Demo08 { public static void main(String[] args){ // 获得日历对象 Calendar c = Calendar.getInstance(); // new GregorianCalendar(); System.out.println(c.get(Calendar.DAY_OF_WEEK)); // 获得年 int year = c.get(Calendar.YEAR); // 获得月 int month = c.get(Calendar.MONTH) + 1; // 获得日 int day = c.get(Calendar.DAY_OF_MONTH); System.out.println(year+"-"+month+"-"+day); System.out.println("----------------------"); // 将年份修改为2020年 c.set(Calendar.YEAR, 2020); c.set(Calendar.MONTH, 4); // 获得年 year = c.get(Calendar.YEAR); // 获得月 month = c.get(Calendar.MONTH) + 1; System.out.println(year+"-"+month+"-"+day); System.out.println("----------------------"); // 将年份向后偏移1年 c.add(Calendar.YEAR, 2); c.add(Calendar.MONTH, 12); // 0 到 11 // 获得年 year = c.get(Calendar.YEAR); System.out.println(year+"-"+month+"-"+day); }}
分享两个实际应用
1、计算一个人从出生到现在活了多少时间
分析: 1. 生日日期字符串:"1999-02-10" 2. 将生日字符串转换为日期对象:String --> Date 3. 获得出生时的毫秒值:long 4. 获得当前时间的毫秒值:long 5. 两个毫秒值相减:long 6. 计算天数 import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class Demo09 { public static void main(String[] args)throws ParseException{ // 1. 生日日期字符串:"1999-02-10" String birthdayStr = "1999-02-10"; // 2. 将生日字符串转换为日期对象:String --> Date SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date birthdayDate = sdf.parse(birthdayStr); // 3. 获得出生时的毫秒值:long long birthdayDateTime = birthdayDate.getTime(); // 4. 获得当前时间的毫秒值:long Date currentDate = new Date(); long currentDateTime = currentDate.getTime(); // 5. 两个毫秒值相减:long long distance = currentDateTime - birthdayDateTime; // 6. 计算天数 System.out.println("活了"+(distance/1000/3600/24)+"天"); }}
2、计算指定年份的2月份的天数
分析: 1. 创建日历对象 2. 设置日历时间为指定年份的3月1号 3. 将日向后偏移1天:减一天(2月最后一天) 4. 获得当前月份的天数 import java.util.Calendar; public class Demo10 { public static void main(String[] args){ // 1. 创建日历对象 Calendar c = Calendar.getInstance(); // 2. 设置日历时间为指定年份的3月1号 c.set(2000, 2, 1); // 3. 将日向后偏移1天:减一天(2月最后一天) c.add(Calendar.DAY_OF_MONTH, -1); // 4. 获得当前月份的天数 int day = c.get(Calendar.DAY_OF_MONTH); if (day == 28){ System.out.println("平年"); } else { System.out.println("闰年"); } System.out.println(day); }
}
3、计算500天之后的日期
public class Test03 { public static void main(String[] args) { //获取当前日历对象 Calendar c = Calendar.getInstance(); System.out.println(c.get(Calendar.DAY_OF_WEEK)); int year = c.get(Calendar.YEAR); int month = c.get(Calendar.MONTH); int day = c.get(Calendar.DAY_OF_MONTH); System.out.println(year+"年"+month+"月"+day+"日"); //获取500天后的日期 c.add(Calendar.DAY_OF_YEAR,500); year = c.get(Calendar.YEAR); month =c.get(Calendar.MONTH); day = c.get(Calendar.DAY_OF_MONTH); System.out.println(year+"年"+month+"月"+day+"日"); }}
写完了,这就是我今天一天所学到的东西,如果文中有错,请在下方留言,我会及时回复并且更改。谢谢各位前辈的指教和同辈的支持。
相关文章推荐
- Java基础学习笔记十三 常用API之正则表达式、Date、DateFormat、Calendar
- Java常用API-Date-DateFormat-Calendar-System-Scanner-String-StringBuilder及使用
- java学习记录day15--常用API学习:Object类Date日期类 DateFormat 类Calendar日历类!
- JAVA的日期应用:Date、DateFormat、Calendar
- android:java_中常用时间类:date,_simpledateformat,_calendar
- 1、java 之Calendar、Date、DateFormat类
- JAVA的日期应用:Date、DateFormat、Calendar
- java常用类库续1(日期操作类Date、Calendar、DateFormat、SimpleDateFormat、Math与Random类)
- JAVA 的 Date、Calendar的常用用法
- Java中Date和Calendar常用方法
- [零基础学JAVA]Java SE应用部分-34.Java常用API类库
- java基础-API-System、Runtime、Date、Calendar、Math
- 【慕课笔记】第三章 JAVA中必须了解的常用类 第5节 Calendar类的应用
- Java中常用来处理时间的三个类:Date、Calendar、SimpleDateFormate,以及Java中的单例设计模式:懒汉式、饿汉式以及静态内部类式
- java程序员从笨鸟到菜鸟之(十九)常用类Calendar和Date
- Java的File类常用API应用
- 常用API(Object ,Date ,SimpleDateFormat ,Calendar ,System ,StringBuilder)
- java API 跟时间相关类:Date/Calendar/GregorianCalendar/DateFormat/SimpleDateFormat
- Java Date, Calendar and Time API - Tutorial
- Java常用类库——时间处理类Date、Calendar、GregorianCalendar以及日期格式化和计算