欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java中Date日期時(shí)間類具體使用

 更新時(shí)間:2023年04月24日 15:55:54   作者:無(wú)聲編碼器  
本文主要介紹了Java中Date日期時(shí)間類具體使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

java.util 包提供了 Date 類來(lái)封裝當(dāng)前的日期和時(shí)間。 Date 類提供兩個(gè)構(gòu)造函數(shù)來(lái)實(shí)例化 Date 對(duì)象。

第一個(gè)構(gòu)造函數(shù)使用當(dāng)前日期和時(shí)間來(lái)初始化對(duì)象

Date( )

第二個(gè)構(gòu)造函數(shù)接收一個(gè)參數(shù),該參數(shù)是從 1970 年 1 月 1 日起的毫秒數(shù)

Date(long millisec)

Date 對(duì)象創(chuàng)建以后,可以調(diào)用下面的方法:

序號(hào)方法描述
1boolean after(Date date),若當(dāng)調(diào)用此方法的Date對(duì)象在指定日期之后返回true,否則返回false
2boolean before(Date date),若當(dāng)調(diào)用此方法的Date對(duì)象在指定日期之前返回true,否則返回false
3Object clone( ),返回此對(duì)象的副本
4int compareTo(Date date),比較當(dāng)調(diào)用此方法的Date對(duì)象和指定日期。兩者相等時(shí)候返回0。調(diào)用對(duì)象在指定日期之前則返回負(fù)數(shù)。調(diào)用對(duì)象在指定日期之后則返回正數(shù)
5int compareTo(Object obj),若obj是Date類型則操作等同于compareTo(Date) 。否則它拋出ClassCastException
6boolean equals(Object date),當(dāng)調(diào)用此方法的Date對(duì)象和指定日期相等時(shí)候返回true,否則返回false
7long getTime( ),返回自 1970 年 1 月 1 日 00:00:00 GMT 以來(lái)此 Date 對(duì)象表示的毫秒數(shù)
8int hashCode( ),返回此對(duì)象的哈希碼值
9void setTime(long time),用自1970年1月1日00:00:00 GMT以后time毫秒數(shù)設(shè)置時(shí)間和日期
10String toString( ),把此 Date 對(duì)象轉(zhuǎn)換為以下形式的 String: dow mon dd hh:mm:ss zzz yyyy 其中: dow 是一周中的某一天 (Sun, Mon, Tue, Wed, Thu, Fri, Sat)。

例如獲取當(dāng)前日期時(shí)間并打印

import java.util.Date;
  
public class DateDemo {
   public static void main(String[] args) {
       // 初始化 Date 對(duì)象
       Date date = new Date();
        
       // 使用 toString() 函數(shù)顯示日期時(shí)間
       System.out.println(date.toString());
   }
}
// 實(shí)例編譯運(yùn)行結(jié)果如下:
// Tue Apr 04 22:50:40 CST 2023

日期比較

Java使用以下三種方法來(lái)比較兩個(gè)日期:

  • 使用 getTime() 方法獲取兩個(gè)日期(自1970年1月1日經(jīng)歷的毫秒數(shù)值),然后比較這兩個(gè)值。
  • 使用方法 before(),after() 和 equals()。例如,一個(gè)月的12號(hào)比18號(hào)早,則 new Date(99, 2, 12).before(new Date (99, 2, 18)) 返回true。
  • 使用 compareTo() 方法,它是由 Comparable 接口定義的,Date 類實(shí)現(xiàn)了這個(gè)接口。

使用 SimpleDateFormat 格式化日期

SimpleDateFormat 是一個(gè)以語(yǔ)言環(huán)境敏感的方式來(lái)格式化和分析日期的類。SimpleDateFormat 允許你選擇任何用戶自定義日期時(shí)間格式來(lái)運(yùn)行。例如:

import  java.util.*;
import java.text.*;
 
public class DateDemo {
   public static void main(String[] args) {
 
      Date dNow = new Date( );
      SimpleDateFormat ft = new SimpleDateFormat ("yyyy-MM-dd hh:mm:ss");
 
      System.out.println("當(dāng)前時(shí)間為: " + ft.format(dNow));
   }
}
// 實(shí)例編譯運(yùn)行結(jié)果如下:
// 當(dāng)前時(shí)間為: 2023-04-04 10:55:24

SimpleDateFormat ft = new SimpleDateFormat ("yyyy-MM-dd hh:mm:ss"); 這一行代碼確立了轉(zhuǎn)換的格式,其中 yyyy 是完整的公元年,MM 是月份,dd 是日期,HH:mm:ss 是時(shí)、分、秒。注意:有的格式大寫,有的格式小寫,例如 MM 是月份,mm 是分;HH 是 24 小時(shí)制,而 hh 是 12 小時(shí)制。

日期和時(shí)間的格式化編碼

時(shí)間模式字符串用來(lái)指定時(shí)間格式。在此模式中,所有的 ASCII 字母被保留為模式字母,定義如下:

字母描述示例
G紀(jì)元標(biāo)記AD
y四位年份2001
M月份July or 07
d一個(gè)月的日期10
hA.M./P.M. (1~12)格式小時(shí)12
H一天中的小時(shí) (0~23)22
m分鐘數(shù)30
s秒數(shù)55
S毫秒數(shù)234
E星期幾Tuesday
D一年中的日子360
F一個(gè)月中第幾周的周幾2 (second Wed. in July)
w一年中第幾周40
W一個(gè)月中第幾周1
aA.M./P.M. 標(biāo)記PM
k一天中的小時(shí)(1~24)24
KA.M./P.M. (0~11)格式小時(shí)10
z時(shí)區(qū)Eastern Standard Time
'文字定界符Delimiter
"單引號(hào)`

使用printf格式化日期

printf 方法可以很輕松地格式化時(shí)間和日期。使用兩個(gè)字母格式,它以 %t 開頭并且以下面表格中的一個(gè)字母結(jié)尾。

  • %tY:輸出四位數(shù)的年份,例如:2023
  • %ty:輸出兩位數(shù)的年份,例如:23
  • %tm:輸出兩位數(shù)的月份,例如:02
  • %tB:輸出月份的全名,例如:February
  • %tb:輸出月份的縮寫,例如:Feb
  • %tA:輸出星期的全名,例如:Wednesday
  • %ta:輸出星期的縮寫,例如:Wed
  • %td:輸出兩位數(shù)的日期,例如:24
  • %te:輸出一位或兩位數(shù)的日期,例如:24 或 02
  • %tH:輸出24小時(shí)制的小時(shí)數(shù),例如:23
  • %tI:輸出12小時(shí)制的小時(shí)數(shù),例如:11
  • %tM:輸出分鐘數(shù),例如:45
  • %tS:輸出秒數(shù),例如:30
  • %tp:輸出上午還是下午,例如:AM 或 PM
  • %tZ:輸出時(shí)區(qū),例如:GMT+08:00
轉(zhuǎn)換符說明示例
%tc包括全部日期和時(shí)間信息星期六 十月 27 14:21:20 CST 2007
%tF"年-月-日"格式2007-10-27
%tD"月/日/年"格式10/27/07
%tr"HH:MM:SS PM"格式(12時(shí)制)02:25:51 下午
%tT"HH:MM:SS"格式(24時(shí)制)14:28:16
%tR"HH:MM"格式(24時(shí)制)14:28

printf格式化日期實(shí)例

格式化日期:

import java.util.Date;
public class DateFormatExample {
   public static void main(String[] args) {
      Date date = new Date();
        System.out.printf("%tY-%tm-%td %tH:%tM:%tS %tZ", date, date, date, date, date, date, date);
   }
}
// 執(zhí)行輸出結(jié)果為:
// 2023-04-05 09:59:23 CST

使用轉(zhuǎn)換符格式化日期:

import java.util.Date;
 
public class DateDemo {
 
  public static void main(String[] args) {
     // 初始化 Date 對(duì)象
     Date date = new Date();
 
     //c的使用  
    System.out.printf("全部日期和時(shí)間信息:%tc%n",date);          
    //f的使用  
    System.out.printf("年-月-日格式:%tF%n",date);  
    //d的使用  
    System.out.printf("月/日/年格式:%tD%n",date);  
    //r的使用  
    System.out.printf("HH:MM:SS PM格式(12時(shí)制):%tr%n",date);  
    //t的使用  
    System.out.printf("HH:MM:SS格式(24時(shí)制):%tT%n",date);  
    //R的使用  
    System.out.printf("HH:MM格式(24時(shí)制):%tR",date);  
  }
}
// 實(shí)例編譯運(yùn)行結(jié)果如下:
// 全部日期和時(shí)間信息:星期三 四月 05 10:06:21 CST 2023
// 年-月-日格式:2023-04-05
// 月/日/年格式:04/05/23
// HH:MM:SS PM格式(12時(shí)制):10:06:21 上午
// HH:MM:SS格式(24時(shí)制):10:06:21
// HH:MM格式(24時(shí)制):10:06

如果你需要重復(fù)提供日期,那么利用這種方式來(lái)格式化它的每一部分就有點(diǎn)復(fù)雜了。因此,可以利用一個(gè)格式化字符串指出要被格式化的參數(shù)的索引。索引必須緊跟在 % 后面,而且必須以 $ 結(jié)束。例如:

import java.util.Date;
  
public class DateDemo {
 
   public static void main(String[] args) {
       // 初始化 Date 對(duì)象
       Date date = new Date();
        
       // 使用toString()顯示日期和時(shí)間
       // %1$索引指向 "Due date:"
       // %2$索引指向 date
       System.out.printf("%1$s %2$tB %2$td, %2$tY", 
                         "Due date:", date);
   }
}
// 實(shí)例編譯運(yùn)行結(jié)果如下:
// Due date: 四月 05, 2023

或者,你可以使用 < 標(biāo)志。它表明先前被格式化的參數(shù)要被再次使用。例如:

import java.util.Date;
  
public class DateDemo {
 
   public static void main(String[] args) {
       // 初始化 Date 對(duì)象
       Date date = new Date();
        
       // 顯示格式化時(shí)間
       System.out.printf("%s %tB %<te, %<tY", 
                         "Due date:", date);
   }
}
// 實(shí)例編譯運(yùn)行結(jié)果如下:
// Due date: 四月 5, 2023

定義日期格式的轉(zhuǎn)換符可以使日期通過指定的轉(zhuǎn)換符生成新字符串。這些日期轉(zhuǎn)換符如下所示:

import java.util.*;
  
public class DateDemo {
   public static void main(String[] args) {
       Date date=new Date();                                      
        //b的使用,月份簡(jiǎn)稱  
        String str=String.format(Locale.US,"英文月份簡(jiǎn)稱:%tb",date);       
        System.out.println(str);                                                                              
        System.out.printf("本地月份簡(jiǎn)稱:%tb%n",date);  
        //B的使用,月份全稱  
        str=String.format(Locale.US,"英文月份全稱:%tB",date);  
        System.out.println(str);  
        System.out.printf("本地月份全稱:%tB%n",date);  
        //a的使用,星期簡(jiǎn)稱  
        str=String.format(Locale.US,"英文星期的簡(jiǎn)稱:%ta",date);  
        System.out.println(str);  
        //A的使用,星期全稱  
        System.out.printf("本地星期的簡(jiǎn)稱:%tA%n",date);  
        //C的使用,年前兩位  
        System.out.printf("年的前兩位數(shù)字(不足兩位前面補(bǔ)0):%tC%n",date);  
        //y的使用,年后兩位  
        System.out.printf("年的后兩位數(shù)字(不足兩位前面補(bǔ)0):%ty%n",date);  
        //j的使用,一年的天數(shù)  
        System.out.printf("一年中的天數(shù)(即年的第幾天):%tj%n",date);  
        //m的使用,月份  
        System.out.printf("兩位數(shù)字的月份(不足兩位前面補(bǔ)0):%tm%n",date);  
        //d的使用,日(二位,不夠補(bǔ)零)  
        System.out.printf("兩位數(shù)字的日(不足兩位前面補(bǔ)0):%td%n",date);  
        //e的使用,日(一位不補(bǔ)零)  
        System.out.printf("月份的日(前面不補(bǔ)0):%te",date);  
   }
}
// 輸出結(jié)果為:
// 英文月份簡(jiǎn)稱:Apr
// 本地月份簡(jiǎn)稱:四月
// 英文月份全稱:April
// 本地月份全稱:四月
// 英文星期的簡(jiǎn)稱:Wed
// 本地星期的簡(jiǎn)稱:星期三
// 年的前兩位數(shù)字(不足兩位前面補(bǔ)0):20
// 年的后兩位數(shù)字(不足兩位前面補(bǔ)0):23
// 一年中的天數(shù)(即年的第幾天):095
// 兩位數(shù)字的月份(不足兩位前面補(bǔ)0):04
// 兩位數(shù)字的日(不足兩位前面補(bǔ)0):05
// 月份的日(前面不補(bǔ)0):5

解析字符串為時(shí)間

SimpleDateFormat 類有一些附加的方法,特別是parse(),它試圖按照給定的SimpleDateFormat 對(duì)象的格式化存儲(chǔ)來(lái)解析字符串。例如:

import java.util.*;
import java.text.*;
  
public class DateDemo {
 
   public static void main(String[] args) {
      SimpleDateFormat ft = new SimpleDateFormat ("yyyy-MM-dd"); 
 
      String input = args.length == 0 ? "1818-11-11" : args[0]; 
 
      System.out.print(input + " Parses as "); 
 
      Date t; 
 
      try { 
          t = ft.parse(input); 
          System.out.println(t); 
      } catch (ParseException e) { 
          System.out.println("Unparseable using " + ft); 
      }
   }
}
// 實(shí)例編譯運(yùn)行結(jié)果如下:
// 1818-11-11 Parses as Wed Nov 11 00:00:00 CST 1818

休眠(sleep)

sleep()使當(dāng)前線程進(jìn)入停滯狀態(tài)(阻塞當(dāng)前線程),讓出CPU的使用、目的是不讓當(dāng)前線程獨(dú)自霸占該進(jìn)程所獲的CPU資源,以留一定時(shí)間給其他線程執(zhí)行的機(jī)會(huì)。你可以讓程序休眠一毫秒的時(shí)間或者到您的計(jì)算機(jī)的壽命長(zhǎng)的任意段時(shí)間。例如,下面的程序會(huì)休眠3秒:

import java.util.*;
  
public class SleepDemo {
   public static void main(String[] args) {
      try { 
         System.out.println(new Date( ) + "\n"); 
         Thread.sleep(1000*3);   // 休眠3秒
         System.out.println(new Date( ) + "\n"); 
      } catch (Exception e) { 
          System.out.println("Got an exception!"); 
      }
   }
}
// 實(shí)例編譯運(yùn)行結(jié)果如下:
// Thu Apr 06 11:18:56 CST 2023
// Thu Apr 06 11:18:59 CST 2023

測(cè)量時(shí)間間隔(以毫秒為單位)的實(shí)例:\color{red}{測(cè)量時(shí)間間隔(以毫秒為單位)的實(shí)例 :}測(cè)量時(shí)間間隔(以毫秒為單位)的實(shí)例:

import java.util.*;
  
public class DiffDemo {
 
   public static void main(String[] args) {
      try {
         long start = System.currentTimeMillis( );
         System.out.println(new Date( ) + "\n");
         Thread.sleep(5*60*10);
         System.out.println(new Date( ) + "\n");
         long end = System.currentTimeMillis( );
         long diff = end - start;
         System.out.println("Difference is : " + diff);
      } catch (Exception e) {
         System.out.println("Got an exception!");
      }
   }
}
// 實(shí)例編譯運(yùn)行結(jié)果如下:
// Thu Apr 06 11:25:14 CST 2023
// Thu Apr 06 11:25:17 CST 2023
// Difference is : 3038

Calendar類

我們現(xiàn)在已經(jīng)能夠格式化并創(chuàng)建一個(gè)日期對(duì)象了,但是我們?nèi)绾尾拍茉O(shè)置和獲取日期數(shù)據(jù)的特定部分呢,比如說小時(shí),日,或者分鐘? 我們又如何在日期的這些部分加上或者減去值呢? 答案是使用Calendar 類。

Calendar類的功能要比Date類強(qiáng)大很多,但在實(shí)現(xiàn)方式上也比Date類要復(fù)雜一些。

Calendar類是一個(gè)抽象類,在實(shí)際使用時(shí)實(shí)現(xiàn)特定的子類的對(duì)象,創(chuàng)建對(duì)象的過程對(duì)程序員來(lái)說是透明的,只需要使用getInstance方法創(chuàng)建即可。例如創(chuàng)建一個(gè)代表系統(tǒng)當(dāng)前日期的Calendar對(duì)象:

Calendar c = Calendar.getInstance();//默認(rèn)是當(dāng)前日期

或者創(chuàng)建一個(gè)指定日期的Calendar對(duì)象(注:Calendar 的月份是從 0 開始的):

//創(chuàng)建一個(gè)代表2009年6月12日的Calendar對(duì)象
Calendar c1 = Calendar.getInstance();
c1.set(2009, 6 - 1, 12);

Calendar類對(duì)象字段類型:Calendar類中用以下這些常量表示不同的意義,jdk內(nèi)的很多類其實(shí)都是采用的這種思想:

常量描述
Calendar.YEAR年份
Calendar.MONTH月份
Calendar.DATE日期
Calendar.DAY_OF_MONTH日期,和上面的字段意義完全相同
Calendar.HOUR12小時(shí)制的小時(shí)
Calendar.HOUR_OF_DAY24小時(shí)制的小時(shí)
Calendar.MINUTE分鐘
Calendar.SECOND
Calendar.DAY_OF_WEEK星期幾

Calendar類對(duì)象信息的設(shè)置

set設(shè)置

調(diào)用 public final void set(int year,int month,int date) 方法。例如:

Calendar c1 = Calendar.getInstance();
c1.set(2009, 6, 12);//把Calendar對(duì)象c1的年月日分別設(shè)這為:2009、6、12

如果只設(shè)定某個(gè)字段,例如日期的值,則可以使用 public void set(int field,int value) 方法。例如,把 c1對(duì)象代表的日期設(shè)置為10號(hào),其他的所有數(shù)值會(huì)被重新計(jì)算:

Calendar c1 = Calendar.getInstance();
c1.set(Calendar.DATE,10);

其他字段屬性set的意義以此類推。

add設(shè)置

把c1對(duì)象的日期加上10,也就是c1也就表示為10天后的日期,其它所有的數(shù)值會(huì)被重新計(jì)算:

Calendar c1 = Calendar.getInstance();
c1.add(Calendar.DATE, 10);

把c1對(duì)象的日期減去10,也就是c1也就表示為10天前的日期,其它所有的數(shù)值會(huì)被重新計(jì)算:

Calendar c1 = Calendar.getInstance();
c1.add(Calendar.DATE, -10);

其他字段屬性的add的意義以此類推。

Calendar類對(duì)象信息的獲得

Calendar c1 = Calendar.getInstance();
// 獲得年份
int year = c1.get(Calendar.YEAR);
// 獲得月份
int month = c1.get(Calendar.MONTH) + 1;
// 獲得日期
int date = c1.get(Calendar.DATE);
// 獲得小時(shí)
int hour = c1.get(Calendar.HOUR_OF_DAY);
// 獲得分鐘
int minute = c1.get(Calendar.MINUTE);
// 獲得秒
int second = c1.get(Calendar.SECOND);
// 獲得星期幾(注意(這個(gè)與Date類是不同的):1代表星期日、2代表星期1、3代表星期二,以此類推)
int day = c1.get(Calendar.DAY_OF_WEEK);

GregorianCalendar類

Calendar類實(shí)現(xiàn)了公歷日歷,GregorianCalendar是Calendar類的一個(gè)具體實(shí)現(xiàn)。Calendar 的getInstance()方法返回一個(gè)默認(rèn)用當(dāng)前的語(yǔ)言環(huán)境和時(shí)區(qū)初始化的GregorianCalendar對(duì)象。GregorianCalendar定義了兩個(gè)字段:AD和BC。這是代表公歷定義的兩個(gè)時(shí)代。

下面列出GregorianCalendar對(duì)象的幾個(gè)構(gòu)造方法

  • GregorianCalendar() —— 在具有默認(rèn)語(yǔ)言環(huán)境的默認(rèn)時(shí)區(qū)內(nèi)使用當(dāng)前時(shí)間構(gòu)造一個(gè)默認(rèn)的 GregorianCalendar。
  • GregorianCalendar(int year, int month, int date) —— 在具有默認(rèn)語(yǔ)言環(huán)境的默認(rèn)時(shí)區(qū)內(nèi)構(gòu)造一個(gè)帶有給定日期設(shè)置的 GregorianCalendar。
  • GregorianCalendar(int year, int month, int date, int hour, int minute) —— 為具有默認(rèn)語(yǔ)言環(huán)境的默認(rèn)時(shí)區(qū)構(gòu)造一個(gè)具有給定日期和時(shí)間設(shè)置的 GregorianCalendar。
  • GregorianCalendar(int year, int month, int date, int hour, int minute, int second) —— 為具有默認(rèn)語(yǔ)言環(huán)境的默認(rèn)時(shí)區(qū)構(gòu)造一個(gè)具有給定日期和時(shí)間設(shè)置的 GregorianCalendar。
  • GregorianCalendar(Locale aLocale) —— 在具有給定語(yǔ)言環(huán)境的默認(rèn)時(shí)區(qū)內(nèi)構(gòu)造一個(gè)基于當(dāng)前時(shí)間的 GregorianCalendar。
  • GregorianCalendar(TimeZone zone) —— 在具有默認(rèn)語(yǔ)言環(huán)境的給定時(shí)區(qū)內(nèi)構(gòu)造一個(gè)基于當(dāng)前時(shí)間的 GregorianCalendar。
  • GregorianCalendar(TimeZone zone, Locale aLocale) —— 在具有給定語(yǔ)言環(huán)境的給定時(shí)區(qū)內(nèi)構(gòu)造一個(gè)基于當(dāng)前時(shí)間的 GregorianCalendar。

這里是GregorianCalendar 類提供的一些嘗用的方法列表

  • void add(int field, int amount) —— 根據(jù)日歷規(guī)則,將指定的(有符號(hào)的)時(shí)間量添加到給定的日歷字段中。
  • protected void computeFields() —— 轉(zhuǎn)換UTC毫秒值為時(shí)間域值。
  • protected void computeTime() —— 覆蓋Calendar ,轉(zhuǎn)換時(shí)間域值為UTC毫秒值。
  • boolean equals(Object obj) —— 比較此 GregorianCalendar 與指定的 Object。
  • int get(int field) —— 獲取指定字段的時(shí)間值。
  • int getActualMaximum(int field) —— 返回當(dāng)前日期,給定字段的最大值。
  • int getActualMinimum(int field) —— 返回當(dāng)前日期,給定字段的最小值。
  • int getGreatestMinimum(int field) —— 返回此 GregorianCalendar 實(shí)例給定日歷字段的最高的最小值。
  • Date getGregorianChange() —— 獲得格里高利歷的更改日期。
  • int getLeastMaximum(int field) —— 返回此 GregorianCalendar 實(shí)例給定日歷字段的最低的最大值。
  • int getMaximum(int field) —— 返回此 GregorianCalendar 實(shí)例的給定日歷字段的最大值。
  • Date getTime() —— 獲取日歷當(dāng)前時(shí)間。
  • long getTimeInMillis() —— 獲取用長(zhǎng)整型表示的日歷的當(dāng)前時(shí)間。
  • TimeZone getTimeZone() —— 獲取時(shí)區(qū)。
  • int getMinimum(int field) —— 返回給定字段的最小值。
  • int hashCode() —— 重寫hashCode。
  • boolean isLeapYear(int year) —— 確定給定的年份是否為閏年。
  • void roll(int field, boolean up) —— 在給定的時(shí)間字段上添加或減去(上/下)單個(gè)時(shí)間單元,不更改更大的字段。
  • void set(int field, int value) —— 用給定的值設(shè)置時(shí)間字段。
  • void set(int year, int month, int date) —— 設(shè)置年、月、日的值。
  • void set(int year, int month, int date, int hour, int minute) —— 設(shè)置年、月、日、小時(shí)、分鐘的值。
  • void set(int year, int month, int date, int hour, int minute, int second) —— 設(shè)置年、月、日、小時(shí)、分鐘、秒的值。
  • void setGregorianChange(Date date) —— 設(shè)置 GregorianCalendar 的更改日期。
  • void setTime(Date date) —— 用給定的日期設(shè)置Calendar的當(dāng)前時(shí)間。
  • void setTimeInMillis(long millis) —— 用給定的long型毫秒數(shù)設(shè)置Calendar的當(dāng)前時(shí)間。
  • void setTimeZone(TimeZone value) —— 用給定時(shí)區(qū)值設(shè)置當(dāng)前時(shí)區(qū)。
  • String toString() —— 返回代表日歷的字符串。

GregorianCalendar 使用實(shí)例

mport java.util.*;
  
public class GregorianCalendarDemo {
 
   public static void main(String[] args) {
      String months[] = {
      "Jan", "Feb", "Mar", "Apr",
      "May", "Jun", "Jul", "Aug",
      "Sep", "Oct", "Nov", "Dec"};
      
      int year;
      // 初始化 Gregorian 日歷
      // 使用當(dāng)前時(shí)間和日期
      // 默認(rèn)為本地時(shí)間和時(shí)區(qū)
      GregorianCalendar gcalendar = new GregorianCalendar();
      // 顯示當(dāng)前時(shí)間和日期的信息
      System.out.print("Date: ");
      System.out.print(months[gcalendar.get(Calendar.MONTH)]);
      System.out.print(" " + gcalendar.get(Calendar.DATE) + " ");
      System.out.println(year = gcalendar.get(Calendar.YEAR));
      System.out.print("Time: ");
      System.out.print(gcalendar.get(Calendar.HOUR) + ":");
      System.out.print(gcalendar.get(Calendar.MINUTE) + ":");
      System.out.println(gcalendar.get(Calendar.SECOND));
      
      // 測(cè)試當(dāng)前年份是否為閏年
      if(gcalendar.isLeapYear(year)) {
         System.out.println("當(dāng)前年份是閏年");
      }
      else {
         System.out.println("當(dāng)前年份不是閏年");
      }
   }
}

// 實(shí)例編譯運(yùn)行結(jié)果如下:
// Date: Apr 6 2023
// Time: 3:35:13
// 當(dāng)前年份不是閏年

方法實(shí)例:\color{red}{方法實(shí)例:}方法實(shí)例:

時(shí)間戳轉(zhuǎn)換成時(shí)間

public class Test {
    public static void main(String args[]) {
        // 獲取當(dāng)前時(shí)間戳
        Long timeStamp = System.currentTimeMillis();
        // 時(shí)間格式
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        // 時(shí)間戳轉(zhuǎn)換成時(shí)間
        String sd = sdf.format(new Date(Long.parseLong(String.valueOf(timeStamp))));
        System.out.println("格式化結(jié)果:" + sd);

        SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy 年 MM 月 dd 日 HH 時(shí) mm 分 ss 秒");
        String sd2 = sdf2.format(new Date(Long.parseLong(String.valueOf(timeStamp))));
        System.out.println("格式化結(jié)果:" + sd2);
    }
}

// 實(shí)例編譯運(yùn)行結(jié)果如下:
// 格式化結(jié)果:2023-04-23 14:24:13
// 格式化結(jié)果:2023 年 04 月 23 日 14 時(shí) 24 分 13 秒

到此這篇關(guān)于Java中Date日期時(shí)間類具體使用的文章就介紹到這了,更多相關(guān)Java Date日期時(shí)間類內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java異常區(qū)分和處理的一些經(jīng)驗(yàn)分享

    Java異常區(qū)分和處理的一些經(jīng)驗(yàn)分享

    這篇文章介紹了Java異常區(qū)分和處理的一些經(jīng)驗(yàn)分享,主要是異常選擇和使用中的一些誤區(qū)總結(jié)與歸納,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-11-11
  • Java的WeakHashMap源碼解析及使用場(chǎng)景詳解

    Java的WeakHashMap源碼解析及使用場(chǎng)景詳解

    這篇文章主要介紹了Java的WeakHashMap源碼解析及使用場(chǎng)景詳解,Map本身生命周期很長(zhǎng),需要長(zhǎng)期貯留內(nèi)存中,但Map中的Entry可以刪除,使用時(shí)可以從其它地方再次取得,需要的朋友可以參考下
    2023-09-09
  • Java通用Mapper UUID簡(jiǎn)單示例

    Java通用Mapper UUID簡(jiǎn)單示例

    今天小編就為大家分享一篇關(guān)于Java通用Mapper UUID簡(jiǎn)單示例,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2018-12-12
  • 通過一個(gè)map替換字符串中指定的字符變量方法

    通過一個(gè)map替換字符串中指定的字符變量方法

    下面小編就為大家?guī)?lái)一篇通過一個(gè)map替換字符串中指定的字符變量方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧
    2017-03-03
  • 淺談Hibernate對(duì)象狀態(tài)之間的神奇轉(zhuǎn)換

    淺談Hibernate對(duì)象狀態(tài)之間的神奇轉(zhuǎn)換

    這篇文章主要介紹了淺談Hibernate對(duì)象狀態(tài)之間的神奇轉(zhuǎn)換,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • Java中的ConcurrentHashMap原理詳解

    Java中的ConcurrentHashMap原理詳解

    這篇文章主要介紹了Java中的ConcurrentHashMap原理詳解,ConcurrentHashMap和HashMap一樣,是一個(gè)存放鍵值對(duì)的容器,使用hash算法來(lái)獲取值的地址,因此時(shí)間復(fù)雜度是O(1),查詢非???需要的朋友可以參考下
    2023-12-12
  • Java結(jié)束線程的三種方法及該如何選擇

    Java結(jié)束線程的三種方法及該如何選擇

    這篇文章主要介紹了Java結(jié)束線程的三種方法及該如何選擇,幫助大家更好的理解和學(xué)習(xí)使用Java,感興趣的朋友可以了解下
    2021-03-03
  • java中g(shù)eneric實(shí)例詳解

    java中g(shù)eneric實(shí)例詳解

    這篇文章主要介紹了java中g(shù)eneric實(shí)例詳解,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-11-11
  • SpringBoot中@Scheduled()注解以及cron表達(dá)式詳解

    SpringBoot中@Scheduled()注解以及cron表達(dá)式詳解

    這篇文章主要介紹了SpringBoot中@Scheduled()注解以及cron表達(dá)式詳解,@Scheduled注解是Spring Boot提供的用于定時(shí)任務(wù)控制的注解,主要用于控制任務(wù)在某個(gè)指定時(shí)間執(zhí)行,或者每隔一段時(shí)間執(zhí)行,需要的朋友可以參考下
    2023-08-08
  • java實(shí)現(xiàn)簡(jiǎn)單汽車租賃系統(tǒng)

    java實(shí)現(xiàn)簡(jiǎn)單汽車租賃系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)簡(jiǎn)單汽車租賃系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-01-01

最新評(píng)論