標籤:print 中國 相關 sql 類之間的關係 資料庫 通過 類型 技術
Java 日期時間處理一、時間相關類
- java.lang.System
- java.util.Date
- java.util.Calendar
- java.util.GregorianCalendar
- java.util.TimeZone
- java.text.DateFormat
- java.text.DateSimpleFormat
- java.sql.Date
- java.sql.Time
- java.sql.Timestamp
二、各個類之間的關係
三、常見問題及解決1、什麼是UTC/UT?
2、什麼是GMT?
3、怎樣擷取目前時間?
//在1970年1月1日UTC之間的目前時間和午夜之間的差異,以毫秒為單位。 long ctm = System.currentTimeMillis(); //分配一個 Date對象並對其進行初始化,以便它表示分配的時間,測量到最近的毫秒。 Date d = new Date(); //使用預設時區和地區設定擷取日曆。 Calendar返回的是基於預設時區的目前時間,預設為FORMAT地區設定。 Calendar cal = Calendar.getInstance(); //Calendar是抽象類別,不能直接執行個體化 System.out.println(ctm); //1535808760490 System.out.println(d); //Sat Sep 01 21:32:40 CST 2018 System.out.println(cal); //包含所有日期相關的屬性,可以通過get()方法獲得對應屬性的值
4、怎樣格式化時間?
Date d = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh-mm-ss"); // yyyy-MM-dd hh-mm-ss可以替換,具體類型可以尋找Java API String tssdf = sdf.format(d);
5、怎樣將一個字串轉換為日期/時間格式?
Calendar cj=new GregorianCalendar(TimeZone.getTimeZone("PRC")); //中國時間 int hod=cj.get(Calendar.HOUR_OF_DAY); //該方法返回int型 System.out.println("24小時制小時: "+hod); //24小時制小時 System.out.println("12小時制小時: "+cj.get(Calendar.HOUR)); //12小時制小時 System.out.print(cj.get(Calendar.HOUR_OF_DAY)+" 時 "); //12小時制小時 System.out.print(cj.get(Calendar.MINUTE)+" 分 "); //分鐘 System.out.println(cj.get(Calendar.SECOND)+" 秒"); //秒 System.out.println("毫秒: "+cj.get(Calendar.MILLISECOND)); //毫秒 System.out.print(cj.get(Calendar.YEAR)+" 年 "); //年 System.out.print((cj.get(Calendar.MONTH)+1)+" 月 "); //月 System.out.println(cj.get(Calendar.DATE)+" 日"); //日
24小時制小時: 22 12小時制小時: 10 22 時 56 分 7 秒 毫秒: 559 2018 年 9 月 1 日
6、怎樣處理從資料庫中擷取的日期/時間?
-
日期格式化:
Date d = res.getDate("stu_date"); //擷取日期(只包含年月日)SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日");String dsdf = sdf.format(d); // 2018年07月25日
-
時間格式化:
Time t = res.getTime("stu_date"); //擷取時間(只包含時分秒)SimpleDateFormat sdf = new SimpleDateFormat("hh時mm分ss秒");String tsdf = sdf.format(t); // 12時13分35秒
-
完整時間格式化:
Timestamp ts = res.getTimestamp("stu_date");SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh-mm-ss");String tssdf = sdf.format(ts);
Java日期時間處理