Java日期时间,以及相互转换
Posted 溪山晴雪
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java日期时间,以及相互转换相关的知识,希望对你有一定的参考价值。
Java日期时间,以及相互转化
1 package com.study.string; 2 3 import java.text.ParseException; 4 import java.text.SimpleDateFormat; 5 import java.util.Calendar; 6 import java.util.Date; 7 import java.util.GregorianCalendar; 8 9 public class DateBase { 10 11 public static void main(String[] args) throws ParseException { 12 /* 13 * 获得当前时间 14 */ 15 Date date1 = new Date(); 16 long long1 = date1.getTime();//date类型,转为 long类型 17 System.out.println(date1);//Sat Aug 26 08:36:36 GMT+08:00 2017 18 System.out.println(long1);//1503708031359 19 20 Calendar cale1 = Calendar.getInstance(); 21 date1 = cale1.getTime();//calendar 类型 转为 date类型 22 long1 = date1.getTime(); 23 System.out.println(cale1); 24 System.out.println(date1);//Sat Aug 26 08:36:36 GMT+08:00 2017 25 System.out.println(long1); 26 27 /* 28 *设置时间 29 */ 30 long1 += 24*60*60*1000; 31 date1.setTime(long1); 32 System.out.println(date1);//Sun Aug 27 08:43:26 GMT+08:00 2017 33 34 /* 35 * 格式化时间日期,无参数的默认格式,有参数的自定义格式。 36 * Date -> String 用 format() 37 * String -> Date 用 parse() 38 */ 39 SimpleDateFormat sim1 = new SimpleDateFormat();//默认格式:17-8-27 上午8:45 40 String time1 = sim1.format(date1); 41 System.out.println(time1);//17-8-27 上午8:45 42 Date date11 = sim1.parse(time1); 43 System.out.println(date11); 44 45 SimpleDateFormat sim2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss sss"); 46 String time2 = sim2.format(date1); 47 System.out.println(time2);//2017-08-27 08:47:58 058 48 Date date22= sim2.parse(time2); 49 System.out.println(date22);//Sun Aug 27 08:52:08 GMT+08:00 2017 50 51 /* 52 * 创建指定日期 String 53 * GregorianCalendar 54 */ 55 SimpleDateFormat sim3 = new SimpleDateFormat("yyyy-MM-dd"); 56 String str1 = "2014-09-27"; 57 Date date33 = sim3.parse(str1); 58 System.out.println(date33);//Sat Sep 27 00:00:00 GMT+08:00 2014 59 60 61 GregorianCalendar gre1 = new GregorianCalendar(2015,Calendar.DECEMBER,25); 62 Date date44 = gre1.getTime(); 63 System.out.println(date44);//Fri Dec 25 00:00:00 GMT+08:00 2015 64 65 66 Calendar cal2 = Calendar.getInstance(); 67 cal2.set(Calendar.YEAR, 2017); 68 cal2.set(Calendar.MONTH, 7);//月份的数字与 第几个月差1, 8 == Calendar.SEPTEMBER 69 cal2.set(Calendar.DATE, 26);// Tue Sep 09 09:04:25 GMT+08:00 2008 70 // cal2.set(Calendar.DAY_OF_MONTH, 12); 71 System.out.println(cal2.getTime());//Sat Aug 26 09:09:44 GMT+08:00 2017 72 73 74 75 /* 76 * 获取年月日,星期,时间 77 */ 78 int dayOfweek = cal2.get(Calendar.DAY_OF_WEEK); 79 System.out.println(dayOfweek);//7 是星期六 80 81 82 /* 83 * Calendar 的时间加减 84 */ 85 Calendar cal3 = Calendar.getInstance(); 86 cal3.add(Calendar.YEAR, 1); 87 cal3.add(Calendar.MONTH, -2); 88 System.out.println(cal3.getTime());//Tue Jun 26 09:14:11 GMT+08:00 2018 89 90 91 /* 92 * 93 */ 94 Calendar cal4 = Calendar.getInstance(); 95 cal4.set(Calendar.YEAR, 2016); 96 cal4.set(Calendar.DATE, 1); 97 //每个月的最后 一天 98 for(int month = Calendar.JANUARY;month<Calendar.DECEMBER; month++){ 99 cal4.set(Calendar.MONTH, month); 100 System.out.println(cal4.get(Calendar.YEAR)+"年"+(month+1)+"月"+ 101 cal4.getActualMaximum(Calendar.DATE)+"日"); 102 }/* 103 2016年1月31日 104 2016年2月29日 105 2016年3月31日 106 2016年4月30日 107 2016年5月31日 108 2016年6月30日 109 2016年7月31日 110 2016年8月31日 111 2016年9月30日 112 2016年10月31日 113 2016年11月30日 114 */ 115 116 //直接创建long 型的时间 117 long long2 = System.currentTimeMillis(); 118 Date daten = new Date(long2); 119 System.out.println(daten);//Sat Aug 26 09:41:08 GMT+08:00 2017 120 } 121 122 }
以上是关于Java日期时间,以及相互转换的主要内容,如果未能解决你的问题,请参考以下文章