摘要:基礎知識之日期操作簡介中的時間使用標準類庫的其表示特定的瞬間,精確到毫秒。常用的方法實例化對象簡介是一個以與語言環境有關的方式來格式化和解析日期的具體類。它允許進行格式化日期文本解析文本日期和規范化。
Java基礎知識之日期操作 1. Date 簡介
Java中的時間使用標準類庫的java.util.Date,其表示特定的瞬間,精確到毫秒。 是用距離一個固定時間點的毫秒數(可正可負,long類型)表達一個特定的時間點。 因為Date的設計具有"千年蟲"以及"時區"的問題,所以Date中的大部分方法已經不建議使用了,它們都被"java.util.Calendar"類所取代,從API中就可以發現,好多方法都已經廢棄掉了。 常用的方法:getTime() 、setTime()
//實例化對象 Date date = new Date(); System.out.println(date.getTime());2. SimpleDateFormat 簡介
SimpleDateFormat 是一個以與語言環境有關的方式來格式化和解析日期的具體類。它允許進行格式化(日期 -> 文本)、解析(文本 -> 日期)和規范化。經常使用來格式化日期。 常用的方法:formate(Date date)、 parse(String s)
//格式化時間字符串 String StrD ="2017-04-20 11:22:45"; SimpleDateFormat sdfd =new SimpleDateFormat("yyy-MM-dd HH:mm:ss"); Date dat =sdfd.parse(StrD); System.out.println(dat);3. Calendar 簡介
java.util.Calendar 是一個抽象類,用于封裝日歷信息,其主要作用在于其方法可以對時間分量進行運算。 它為特定瞬間與一組諸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日歷字段之間的轉換提供了方法。 常用的方法: getInstance()、set() 、get()、getActualMaximum()、add()、gettime()、setTime(Date)
//設置當前的時間為 2017-04-25 Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.YEAR,2017); calendar.set(Calendar.MONTH,04); /* * 對于幾號而言 calendar 提供了兩個時間分量 * 意義完全相同,選擇其中的一個就好 * DAY_OF_MONTH * DATE */ calendar.set(Calendar.DATE,25); calendar.set(Calendar.DAY_OF_MONTH, 25);綜合實踐 1. 獲取當前時間
public String getCurrentDate(){ String nowDate = ""; SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//設置日期格式 nowDate = df.format(new Date());// new Date()為獲取當前系統時間 return nowDate; }2. 獲取詳細的時間
/** * 獲取詳細的時間 */ public void getDateDetail() { Calendar calendar = Calendar.getInstance(); // 創建對象 = Calendar.getInstance();// 可以對每個時間域多帶帶修改 int year = calendar.get(Calendar.YEAR); int month = calendar.get(Calendar.MONTH) + 1;// 月,從0開始,即是輸出5表示6月 int date = calendar.get(Calendar.DATE); int hour = calendar.get(Calendar.HOUR_OF_DAY); int minute = calendar.get(Calendar.MINUTE); int second = calendar.get(Calendar.SECOND); int am_pm = calendar.get(Calendar.AM_PM); // 獲得是上午還是下午AM=0,PM=1 int dayOfMonth = calendar.get(Calendar.DAY_OF_MONTH); // 一個月中的第幾天 int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK); // 一周中的第幾天,星期日是第一天 int dayOfYear = calendar.get(Calendar.DAY_OF_YEAR); // 一年中的第幾天 int hourOfDay = calendar.get(Calendar.HOUR_OF_DAY); // 一天中的第幾小時 if (calendar.get(Calendar.AM_PM) == Calendar.AM) { System.out.println("現在是上午"); } if (calendar.get(Calendar.MONTH) + 1 == Calendar.JULY) { System.out.println("現在是6月"); } System.out.println(year + "/" + month + "/" + date + " " + hour + ":"+ minute + ":" + second); }3. 日期的加減法
/** * 日期的 add() * 日期加上一個正數就是時間向后(未來)移動,日期加上負數就是向前(過去)移動 * 當日期加到 32 的時候,就會順移到下一個月 */ public void addDate(){ DateFormat df = new SimpleDateFormat("yyyy-MM-dd EE hh:mm:ss"); Calendar c = Calendar.getInstance(); //獲取當前日期的實例 c.add(Calendar.MONTH, 1); //當前時間加一個月 //c.add(Calendar.MONTH, -1); //當前時間減一個月 System.out.println(df.format(c.getTime())); //格式化輸出當前的時間 c.add(Calendar.HOUR, 3); // 當前時間加 3個小時 //c.add(Calendar.HOUR, -3); // 當前時間減 3個小時 System.out.println(df.format(c.getTime())); c.add(Calendar.YEAR, 1); //當前時間加一年 //c.add(Calendar.YEAR, -1); //當前時間減一年 System.out.println(df.format(c.getTime())); c.add(Calendar.DAY_OF_WEEK, 7); // 當前時間加7天 //c.add(Calendar.DAY_OF_WEEK, -7); // 當前時間減7天 System.out.println(df.format(c.getTime())); }4. 日期的比較
/** * 日期比較 */ public void compareDate(){ //日期 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String dateString_01 = "2017-01-01 11:11:11"; String dateString_02 = "2016-01-02 11:11:11"; try { Date date_01 = sdf.parse( dateString_01 ); Date date_02 = sdf.parse( dateString_02 ); System.out.println( date_01.before(date_02) ); //true,當 date_01 小于 date_02 時,為 true,否則為 false System.out.println( date_02.after(date_01) ); //true,當 date_02 大于 date_01 時,為 true,否則為 false System.out.println( date_01.compareTo(date_02) ); //-1,當 date_01 小于 date_02 時,為 -1 System.out.println (date_02.compareTo(date_01) ); //1,當 date_02 大于 date_01 時,為 1 System.out.println( date_02.compareTo(date_02) ); //0,當兩個日期相等時,為 0 } catch (ParseException e) { e.printStackTrace(); } }5. 計算兩個日期相隔多少天
/** * 計算日期相隔多少天 * @throws ParseException */ public void calculateDate() throws ParseException{ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); Date beginDate= format.parse("2017-06-24"); Date endDate= format.parse("2017-06-30"); long day = ( endDate.getTime()-beginDate.getTime() )/(24*60*60*1000); System.out.println(day); }注
由于 Java8 出了新特性,附上鏈接:Java8新特性之日期處理
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/70126.html
摘要:操作之連接以及簡單操作下載對應的驅動包下載創建一個連接類連接主機地址端口號登錄密碼連接服務器權限認證連接完成會返回緩存鏈接錯誤查詢所有中的查詢所有的為通配符清除所有的中的是清除所有的的命令如果清理完成,會返回完整的代碼聲明對象測試地址端口密 Java操作Redis之連接以及簡單操作 1.下載對應的驅動包 下載 jedis.jar :https://mvnrepository.com/a...
摘要:日期和時間處理日期和時間的函數庫。使用中可觀察序列,創建異步基于事件應用程序的函數庫。為分布式系統提供延遲和容錯處理。發布使用本機格式分發應用程序的工具。將程序資源和打包成和的本機文件。圖像處理用來幫助創建評估或操作圖形的函數庫。 好資源要分享原文 譯者 唐尤華 翻譯自 github akullpp 構建 這里搜集了用來構建應用程序的工具。 Apache Maven:Mave...
摘要:是一個由寫的存儲系統。是一個開源的使用語言編寫遵守協議支持網絡可基于內存亦可持久化的日志型數據庫,并提供多種語言的。它通常被稱為數據結構服務器,因為值可以是字符串哈希列表集合和有序集合等類型。 REmote DIctionary Server(Redis) 是一個由Salvatore Sanfilippo寫的key-value存儲系統。Redis是一個開源的使用ANSI C語言編寫、遵...
摘要:是一個由寫的存儲系統。是一個開源的使用語言編寫遵守協議支持網絡可基于內存亦可持久化的日志型數據庫,并提供多種語言的。它通常被稱為數據結構服務器,因為值可以是字符串哈希列表集合和有序集合等類型。 REmote DIctionary Server(Redis) 是一個由Salvatore Sanfilippo寫的key-value存儲系統。Redis是一個開源的使用ANSI C語言編寫、遵...
閱讀 2943·2023-04-25 19:20
閱讀 786·2021-11-24 09:38
閱讀 2039·2021-09-26 09:55
閱讀 2430·2021-09-02 15:11
閱讀 2014·2019-08-30 15:55
閱讀 3610·2019-08-30 15:54
閱讀 3148·2019-08-30 14:03
閱讀 2962·2019-08-29 17:11