/*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...