成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專(zhuān)欄INFORMATION COLUMN

Java基礎(chǔ)知識(shí)整理之操作日期

leap_frog / 2170人閱讀

摘要:基礎(chǔ)知識(shí)之日期操作簡(jiǎn)介中的時(shí)間使用標(biāo)準(zhǔn)類(lèi)庫(kù)的其表示特定的瞬間,精確到毫秒。常用的方法實(shí)例化對(duì)象簡(jiǎn)介是一個(gè)以與語(yǔ)言環(huán)境有關(guān)的方式來(lái)格式化和解析日期的具體類(lèi)。它允許進(jìn)行格式化日期文本解析文本日期和規(guī)范化。

Java基礎(chǔ)知識(shí)之日期操作 1. Date 簡(jiǎn)介
Java中的時(shí)間使用標(biāo)準(zhǔn)類(lèi)庫(kù)的java.util.Date,其表示特定的瞬間,精確到毫秒。
是用距離一個(gè)固定時(shí)間點(diǎn)的毫秒數(shù)(可正可負(fù),long類(lèi)型)表達(dá)一個(gè)特定的時(shí)間點(diǎn)。    
因?yàn)镈ate的設(shè)計(jì)具有"千年蟲(chóng)"以及"時(shí)區(qū)"的問(wèn)題,所以Date中的大部分方法已經(jīng)不建議使用了,它們都被"java.util.Calendar"類(lèi)所取代,從API中就可以發(fā)現(xiàn),好多方法都已經(jīng)廢棄掉了。    
常用的方法:getTime() 、setTime()
//實(shí)例化對(duì)象
Date date = new Date();
System.out.println(date.getTime());
2. SimpleDateFormat 簡(jiǎn)介
SimpleDateFormat 是一個(gè)以與語(yǔ)言環(huán)境有關(guān)的方式來(lái)格式化和解析日期的具體類(lèi)。它允許進(jìn)行格式化(日期 -> 文本)、解析(文本 -> 日期)和規(guī)范化。經(jīng)常使用來(lái)格式化日期。
常用的方法:formate(Date date)、 parse(String s)
 //格式化時(shí)間字符串
 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 簡(jiǎn)介
java.util.Calendar 是一個(gè)抽象類(lèi),用于封裝日歷信息,其主要作用在于其方法可以對(duì)時(shí)間分量進(jìn)行運(yùn)算。    
它為特定瞬間與一組諸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日歷字段之間的轉(zhuǎn)換提供了方法。
常用的方法: getInstance()、set() 、get()、getActualMaximum()、add()、gettime()、setTime(Date)
//設(shè)置當(dāng)前的時(shí)間為 2017-04-25
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.YEAR,2017);
calendar.set(Calendar.MONTH,04);

 /*
  * 對(duì)于幾號(hào)而言 calendar 提供了兩個(gè)時(shí)間分量
  * 意義完全相同,選擇其中的一個(gè)就好
  * DAY_OF_MONTH
  * DATE
  */
calendar.set(Calendar.DATE,25);
calendar.set(Calendar.DAY_OF_MONTH, 25);
綜合實(shí)踐 1. 獲取當(dāng)前時(shí)間
public String getCurrentDate(){
    String nowDate = "";
        
    SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//設(shè)置日期格式
        nowDate = df.format(new Date());// new Date()為獲取當(dāng)前系統(tǒng)時(shí)間
        
        return nowDate;
    }
2. 獲取詳細(xì)的時(shí)間
    /**
     * 獲取詳細(xì)的時(shí)間
     */
    public void getDateDetail() {
        Calendar calendar = Calendar.getInstance(); // 創(chuàng)建對(duì)象 = Calendar.getInstance();// 可以對(duì)每個(gè)時(shí)間域多帶帶修改
        int year = calendar.get(Calendar.YEAR);
        int month = calendar.get(Calendar.MONTH) + 1;// 月,從0開(kāi)始,即是輸出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);    // 一個(gè)月中的第幾天
        int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);     // 一周中的第幾天,星期日是第一天
        int dayOfYear = calendar.get(Calendar.DAY_OF_YEAR);        // 一年中的第幾天
        int hourOfDay = calendar.get(Calendar.HOUR_OF_DAY);         // 一天中的第幾小時(shí)

        if (calendar.get(Calendar.AM_PM) == Calendar.AM) {
            System.out.println("現(xiàn)在是上午");
        }

        if (calendar.get(Calendar.MONTH) + 1 == Calendar.JULY) {
            System.out.println("現(xiàn)在是6月");
        }
        
        System.out.println(year + "/" + month + "/" + date + " " + hour + ":"+ minute + ":" + second);
    }
3. 日期的加減法
    /**
     * 日期的 add()
     * 日期加上一個(gè)正數(shù)就是時(shí)間向后(未來(lái))移動(dòng),日期加上負(fù)數(shù)就是向前(過(guò)去)移動(dòng)
     * 當(dāng)日期加到 32 的時(shí)候,就會(huì)順移到下一個(gè)月
     */
    public void addDate(){
        DateFormat df = new SimpleDateFormat("yyyy-MM-dd EE hh:mm:ss");    
        Calendar c = Calendar.getInstance();    //獲取當(dāng)前日期的實(shí)例
        
        c.add(Calendar.MONTH, 1);    //當(dāng)前時(shí)間加一個(gè)月
        //c.add(Calendar.MONTH, -1);    //當(dāng)前時(shí)間減一個(gè)月
        System.out.println(df.format(c.getTime()));     //格式化輸出當(dāng)前的時(shí)間
        
        c.add(Calendar.HOUR, 3); // 當(dāng)前時(shí)間加 3個(gè)小時(shí)
        //c.add(Calendar.HOUR, -3); // 當(dāng)前時(shí)間減 3個(gè)小時(shí)
        System.out.println(df.format(c.getTime())); 
        
        c.add(Calendar.YEAR, 1);    //當(dāng)前時(shí)間加一年
        //c.add(Calendar.YEAR, -1);    //當(dāng)前時(shí)間減一年
        System.out.println(df.format(c.getTime()));
        
         c.add(Calendar.DAY_OF_WEEK, 7); // 當(dāng)前時(shí)間加7天 
         //c.add(Calendar.DAY_OF_WEEK, -7); // 當(dāng)前時(shí)間減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,當(dāng) date_01 小于 date_02 時(shí),為 true,否則為 false
           System.out.println( date_02.after(date_01) ); //true,當(dāng) date_02 大于 date_01 時(shí),為 true,否則為 false
           
           System.out.println( date_01.compareTo(date_02) ); //-1,當(dāng) date_01 小于 date_02 時(shí),為 -1
           System.out.println (date_02.compareTo(date_01) ); //1,當(dāng) date_02 大于 date_01 時(shí),為 1
           System.out.println( date_02.compareTo(date_02) ); //0,當(dāng)兩個(gè)日期相等時(shí),為 0
               
        } catch (ParseException e) {
           e.printStackTrace();
        }
    }
5. 計(jì)算兩個(gè)日期相隔多少天
    /**
     * 計(jì)算日期相隔多少天
     * @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新特性之日期處理

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/70126.html

相關(guān)文章

  • Java基礎(chǔ)知識(shí)整理操作Redis(二)

    摘要:操作之連接以及簡(jiǎn)單操作下載對(duì)應(yīng)的驅(qū)動(dòng)包下載創(chuàng)建一個(gè)連接類(lèi)連接主機(jī)地址端口號(hào)登錄密碼連接服務(wù)器權(quán)限認(rèn)證連接完成會(huì)返回緩存鏈接錯(cuò)誤查詢(xún)所有中的查詢(xún)所有的為通配符清除所有的中的是清除所有的的命令如果清理完成,會(huì)返回完整的代碼聲明對(duì)象測(cè)試地址端口密 Java操作Redis之連接以及簡(jiǎn)單操作 1.下載對(duì)應(yīng)的驅(qū)動(dòng)包 下載 jedis.jar :https://mvnrepository.com/a...

    mingde 評(píng)論0 收藏0
  • 國(guó)外程序員整理Java資源大全

    摘要:日期和時(shí)間處理日期和時(shí)間的函數(shù)庫(kù)。使用中可觀察序列,創(chuàng)建異步基于事件應(yīng)用程序的函數(shù)庫(kù)。為分布式系統(tǒng)提供延遲和容錯(cuò)處理。發(fā)布使用本機(jī)格式分發(fā)應(yīng)用程序的工具。將程序資源和打包成和的本機(jī)文件。圖像處理用來(lái)幫助創(chuàng)建評(píng)估或操作圖形的函數(shù)庫(kù)。 好資源要分享原文 譯者 唐尤華 翻譯自 github akullpp 構(gòu)建 這里搜集了用來(lái)構(gòu)建應(yīng)用程序的工具。 Apache Maven:Mave...

    chengtao1633 評(píng)論0 收藏0
  • Java基礎(chǔ)知識(shí)整理操作Redis(一)

    摘要:是一個(gè)由寫(xiě)的存儲(chǔ)系統(tǒng)。是一個(gè)開(kāi)源的使用語(yǔ)言編寫(xiě)遵守協(xié)議支持網(wǎng)絡(luò)可基于內(nèi)存亦可持久化的日志型數(shù)據(jù)庫(kù),并提供多種語(yǔ)言的。它通常被稱(chēng)為數(shù)據(jù)結(jié)構(gòu)服務(wù)器,因?yàn)橹悼梢允亲址A斜砑虾陀行蚣系阮?lèi)型。 REmote DIctionary Server(Redis) 是一個(gè)由Salvatore Sanfilippo寫(xiě)的key-value存儲(chǔ)系統(tǒng)。Redis是一個(gè)開(kāi)源的使用ANSI C語(yǔ)言編寫(xiě)、遵...

    honhon 評(píng)論0 收藏0
  • Java基礎(chǔ)知識(shí)整理操作Redis(一)

    摘要:是一個(gè)由寫(xiě)的存儲(chǔ)系統(tǒng)。是一個(gè)開(kāi)源的使用語(yǔ)言編寫(xiě)遵守協(xié)議支持網(wǎng)絡(luò)可基于內(nèi)存亦可持久化的日志型數(shù)據(jù)庫(kù),并提供多種語(yǔ)言的。它通常被稱(chēng)為數(shù)據(jù)結(jié)構(gòu)服務(wù)器,因?yàn)橹悼梢允亲址A斜砑虾陀行蚣系阮?lèi)型。 REmote DIctionary Server(Redis) 是一個(gè)由Salvatore Sanfilippo寫(xiě)的key-value存儲(chǔ)系統(tǒng)。Redis是一個(gè)開(kāi)源的使用ANSI C語(yǔ)言編寫(xiě)、遵...

    2shou 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<