Java中的Date时间转换【SimpleDateFormat (parse和format)】和Calendar日历表
parse:将字符串转换成时间
format:将时间转换成字符串
1 package object; 2 3 import java.text.ParseException; 4 import java.text.SimpleDateFormat; 5 import java.util.Date; 6 7 public class Date1 { 8 9 public static void main(String[] args) throws ParseException { 10 // TODO Auto-generated method stub 11 Date date=new Date(); 12 SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 13 String time1=format.format(date);//将时间转换成字符串 14 System.out.println(time1); 15 16 String time2="1996-09-18 07:18:09"; 17 SimpleDateFormat format2=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 18 Date date2=format2.parse(time2);//将字符串转换成时间 19 System.out.println(date2); 20 21 } 22 23 } 24 //结果: 25 2017-12-20 15:49:49 26 Wed Sep 18 07:18:09 GMT+08:00 1996
Date应用实例:
1 package object; 2 3 import java.text.ParseException; 4 import java.text.SimpleDateFormat; 5 import java.util.Date; 6 7 public class DateBirthday { 8 9 public static void main(String[] args) throws ParseException, InterruptedException { 10 // TODO Auto-generated method stub 11 //求两个人的生日相差多少天 12 String birthday1="1996-09-18"; 13 String birthday2="1993-08-27"; 14 SimpleDateFormat format1=new SimpleDateFormat("yyyy-MM-dd"); 15 Date date1=format1.parse(birthday1); 16 Date date2=format1.parse(birthday2); 17 long l1=date1.getTime(); 18 long l2=date2.getTime(); 19 long l3=l2-l1; 20 int day=Math.abs((int) (l3/1000/60/60/24)); 21 System.out.println("两人相差"+day+"天");//结果:两人相差1096天 22 23 24 //没个两秒显示一次时间 25 while(true){ 26 new Thread().sleep(2000); 27 Date date=new Date(); 28 SimpleDateFormat format3=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 29 String time=format3.format(date); 30 System.out.println(time); 31 } 32 } 33 34 }
利用Calendar日历表分别获取时间,设置时间:
1 package object; 2 3 import java.util.Calendar; 4 import java.util.Date; 5 6 public class Date2 { 7 public static void main(String[] args) { 8 Calendar c = Calendar.getInstance(); 9 c.add(Calendar.YEAR, 3);//年+3年 10 c.set(2018,1,1);//重新设置时间 11 int year = c.get(Calendar.YEAR); 12 int month = c.get(Calendar.MONTH);//获取的月份是 0-11,所以实际月份要+1 13 int date = c.get(Calendar.DATE); 14 int hour = c.get(Calendar.HOUR_OF_DAY); 15 int minute = c.get(Calendar.MINUTE); 16 int second = c.get(Calendar.SECOND); 17 18 System.out.println(year);//年 19 System.out.println(month);//月份 20 System.out.println(hour);//小时 21 System.out.println(minute);//分钟 22 System.out.println(second);//秒 23 System.out.println(date);//日 24 25 26 } 27 28 }