format的用法 是将当前时间格式转换为指定格式
场景一:给定毫秒数或者当前系统时间,返回指定时间格式 输入
- Date date=new Date();//获得系统当前的时间
- // long date=(long)24979599*60000; //任意毫秒数,可以parse转化为日期类型后getTime获取
- // long date=1498838705129l;
- System.out.println(date);
- SimpleDateFormat sd=new SimpleDateFormat("yyyy-MM-dd HH:mm");
- String form=sd.format(date);
- return form;
注意:在第二行和第三行抓化为long类型时要强制性long转换,否则会提示type int is out of range
场景二:给定任意时间格式,返回毫秒数
parse转化为Date类型后可以直接获取毫秒。输入2017-06-28T09:52 返回毫秒
- String s="2017-06-28T09:52";
- SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd'T'HH:mm");
- Date date=sdf.parse(s);
- System.out.println(date);//Sat Jan 28 09:52:00 CST 2017
- System.out.println(date.getTime());
场景三:将给定格式转换为指定格式
输入 06-29-2017 输出 2017/06/29 先parse转化为date类型,再将其format为指定日期类型
- String str = "06-29-2017";
- SimpleDateFormat sd = new SimpleDateFormat("MM-dd-yyyy");
- Date date = (Date) sd.parse(str);
- System.out.println(date);
-
- sd = new SimpleDateFormat("yyyy/MM/dd");
- String strDate = sd.format(date);
- System.out.println(strDate);