赞
踩
一、分析
从字符串转成日期对象,可分析出,传入参数为String , 返回值类型为Date日期对象。从DateFormat类API方法列表中就知道了方法:
二、演示代码
1、日期格式为:2019年12月30日
在获取DateFormat转换器实例时需加入样式:(DateFormat.LONG)
- public static void MethodDemo_3() throws ParseException {
- // TODO Auto-generated method stub
-
- String str_date="2019年12月30日";
-
- DateFormat dateformat=DateFormat.getDateInstance(DateFormat.LONG);
-
- Date date=dateformat.parse(str_date);
-
- //Mon Dec 30 00:00:00 CST 2019
- System.out.println(date);
- }
2、日期格式为:2019-12-30
就得加入SimpleDateFormat(yyyy-MM-dd) 自定义日期时间转换器。
- public static void MethodDemo_3() throws ParseException {
- // TODO Auto-generated method stub
-
- String str_date="2019-12-30";
-
- DateFormat dateformat=DateFormat.getDateInstance(DateFormat.LONG);
- dateformat=new SimpleDateFormat("yyyy-MM-dd");
-
- Date date=dateformat.parse(str_date);
-
- //Mon Dec 30 00:00:00 CST 2019
- System.out.println(date);
- }
三、练习
2019-5-6 到 2019-7-26之间 相差多少天?
思路:
将两个日期进行相减。必须有两个可以进行减法运算的数字,能减的是毫秒值。
如何获取获取毫秒值?通过Date对象。
如何获取Date对象,可以通过将字符串转成Date对象。
步骤:
1、将日期格式的字符串对象转换成Date对象。
2、将Date对象转换成毫秒值。
3、相减,得到毫秒值,转成天数。
演示代码:
- public class DateTest {
-
- public static void main(String[] args) throws ParseException {
- // TODO Auto-generated method stub
-
- String str_date1="2019-7-26";
- String str_date2="2019-7-25";
-
- test(str_date1,str_date2);
-
- }
-
- public static void test(String str_date1, String str_date2) throws ParseException {
- // TODO Auto-generated method stub
- //设置格式
- DateFormat dateFormat=DateFormat.getDateInstance();
-
- //解析字符串时间
- Date date1 = dateFormat.parse(str_date1);
- Date date2 = dateFormat.parse(str_date2);
-
- //将Date对象转换成毫秒值。
- long time1 = date1.getTime();
- long time2 = date2.getTime();
-
- //相减,得到毫秒值,取绝对值
- long time=Math.abs(time2-time1);
-
- int day=getDay(time);
-
- System.out.println("他们之间相差"+day+"天");
- }
-
- public static int getDay(long time) {
- // TODO Auto-generated method stub
- return (int) (time/1000/60/60/24);
- }
-
- }
运行结果:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。