Java 日期類的一些使用

2021-09-09 08:19:10 字數 2556 閱讀 7957

/*2023年的1月1日,是那一年的第1天。

那麼,2023年的5月4日,是那一年的第幾天?*/

看到這道題 所以打算重新學習一下日期類 這也是我的第一篇部落格

date類現在用的比較少了,貼一些現在還沒過時的方法

date類表示特定的瞬間,精確到毫秒。

1、public date()——分配 date 物件並初始化此物件,以表示分配它的時間(精確到毫秒)。

1 @test

2 public void test1()

sun oct 23 22:39:14 cst 2016

2、public date(long date)——根據給定的毫秒值建立日期物件。

1 @test

2 public void test2()

sun oct 23 22:41:42 cst 2016
介紹完了date的建構函式後,接下來來看看日期與毫秒值的相互轉換

1、public long gettime()——日期轉毫秒值

通過gettime方法可以將乙個日期型別轉換為long型別的毫秒值

1 @test

2 public void test3()

1477234414353
2、public void settime(long time)——毫秒值轉日期

1 @test

2 public void test4()

sun oct 23 22:53:05 cst 2016

當然也可以通過建構函式public date(long date)將毫秒值轉為日期型別。

通常我們會比較2個日期的大小,date類提供以下方法用來比較2個日期的相關操作

1、public boolean before(date when)——測試此日期是否在指定日期之前,當且僅當此date物件表示的瞬間比when表示的瞬間早,才返回true;否則返回false。

1 @test

2 public void test5()

true
2、public boolean after(date when)——測試此日期是否在指定日期之後,當且僅當此date物件表示的瞬間比when表示的瞬間晚,才返回true;否則返回false。

1 @test

2 public void test6()

false
3、public int compareto(date anotherdate)——比較兩個日期的順序。

如果引數date等於此date,則返回值0;如果此date在date引數之前,則返回小於0的值;如果此date在date引數之後,則返回大於0的值。

1 @test

2 public void test7()

-1

calendar類是現在關於日期常用的類了

要獲取乙個calendar類的例項不能靠new 要呼叫靜態的getinstance()方法

calendar c = calendar.getinstance();

常用set()方法可以直接設定乙個時間 void set(int year, int month, int date, int hourofday, int minute, int second)

比如:c.set(2000,5,4); //需要注意的是 這裡月份是5,但是在這個類的方法裡月份是從0月開始算的,所以如果要表達2000.05.04就要設定成:c.set(2000,4,4);

同樣的如果要獲取這個月是第幾個月則是呼叫get方法:c.get(calendar.month)+1  因為月份從0開始算, 所以要加一才能表示是5月

還有在該類的方法裡週日是乙個星期的第一天,周一是第二天以此類推

get()方法:形參是各種字段 沒有month day_of_year day_of_month等等

c.get(month)//獲取現在這個時間是這年的第幾個月

同理doy_of_month這個月第幾天

gettime()方法:可以將calendar類轉換為date類

date date = c.gettime();

******dateformat類 簡單的日期格式類

******dateformat format = new ******dateformat(yyyy-mm-dd); //注意月份是大寫  當然還有其他的一些格式 以後遇到了再補

可以將乙個這種格式的的日期轉化為date類的乙個例項

date date = format.parse("2000-5-4");//這裡要表達的是2023年5月4日

date類也可以轉換為calendar類

calendar c = calendar.getinstance();

c.settime(date);//這裡等同於c.set(2000,4,4) 會自動轉換成從0開始算的月份形式

java日期的一些處理

日期的格式化,提供簡單的幾種格式 privatefinalstatic dateformatsdfyear new dateformat yyyy privatefinalstatic dateformatsdfday new dateformat yyyy mm dd privatefinalst...

Java類設計一些原則

1 在抽象出問題域中的類時,按照 物件類似 設計原則進行抽象。如果問題域中的多個實體都有相似的屬性和相似的行為是,那麼可以將這些屬性和行為寫到同乙個類中,對於差別比較大的行為最好不要寫入或者另外寫入乙個新建類中。2 封裝每個核心 類時,最好加入單元測試 或加入main 方法進行測試,以保證每個類的每...

一些日期的處理。

在oracle中,要獲得日期中的年份,例如把sysdate中的年份取出來,並不是一件難事。常用的方法是 select to number to char sysdate,yyyy from dual,而實際上,oracle本身有更好的方法,那就是使用extract函式,使用方法是 select ex...