java 假设当前时间_Java中与日期和时间相关的类和方法
一、currentTimeMillis()方法
System 類中的方法 currentTimeMillis() 方法可以返回從 GMT1970 年 1 月 1 日 00 : 00 : 00 開始到當前時刻的毫秒數。
System.currentTimeMillis(); //返回值為long類型
二、Date類
1.構造方法
(1)public Date (); 以當前系統時間創建一個Date對象;
(2)public Date (long date); 用指定的毫秒級時間創建一個Date對象,代表自1970年起經過了 date 毫秒后的時間。
Date date1 = new Date();
System.out.println(date1); //輸出當前系統時間
Date date2 = new Date(4516379);
System.out.print(date2); //輸出為 “Thu Jan 01 09:15:16 CST 1970”
注:Date 的構造函數共有四個,但其他兩個已經過時,因此不做說明。
2,常用方法
功能
方法
判斷日期是否在 when 之后
public boolean after(Date when)
判斷日期是否在 when 之前
public boolean before(Date when)
判斷日期和 when 的時間先后順序,早于、相等、晚于分別返回 -1,0,1
public int compareTo(Date when)
判斷兩個日期代表的時間點是否相同
public boolean equals(Object obj)
設置 Date 對象代表的時間
public void setTime(long time)
以字符串形式輸出當前日期(與直接輸出對象的效果相同)
public String toString()
三、Calendar類
Calendar 是一個抽象的基類,GregorianCalendar 為其一個具體子類。
1,構造方法
(1)Calendar calendar = Calendar.getInstance();
使用默認時區和語言環境獲得一個日歷,其代表的時間為當前系統時間。
(2)Calendar calendar = new GregorianCalendar();
使用子類獲得一個日歷,其代表的時間為當前系統時間。
2,常量說明
3,常用方法
(1)get( field: int) : int
返回一個給定日歷域的值
Calendar calendar = Calendar.getInstance();//利用系統當前時間創建一個日歷對象
System.out.println(calendar.get(Calendar.YEAR)); //獲得當前年份
System.out.println(calendar.get(Calendar.MONTH)); //獲得當前月份
System.out.println(calendar.get(Calendar.DATE)); //當前時間是當前月的第幾天
System.out.println(calendar.get(Calendar.HOUR)); //當前是幾點
System.out.println(calendar.get(Calendar.HOUR_OF_DAY)); //當前是當天的第幾小時
System.out.println(calendar.get(Calendar.DAY_OF_WEEK)); //當前天是當前周中的第幾天
System.out.println(calendar.get(Calendar.DAY_OF_MONTH)); //當前天是當前月的第幾天
System.out.println(calendar.get(Calendar.DAY_OF_YEAR)); //當前天是當前年的第幾天
System.out.println(calendar.get(Calendar.WEEK_OF_MONTH)); //當前周是當前月的第幾周
System.out.println(calendar.get(Calendar.WEEK_OF_YEAR)); //當前周是當前年的第幾周
假設當前日期為 “2020年 11月 12日 周四 上午 09:18:46”,則輸出如下:
2020 //表示是2020年
10 //表示是11月(0代表一月)
12 //表示是12號
9 //表示是9點
9 //表示當前時間是當天的第九個小時
5 //表示是當前周的第五天,即周四(1代表周日)
12 //表示是當前月的第12天
317 //表示是當前年的第317天
2 //表示是當前月的第二周
46 //表示是當前年的第46周
(2)getTime() : Date
返回代表當前具體時間的對應 Date 對象
Calendar calendar = Calendar.getInstance();
System.out.println(calendar.getTime());
假設當前日期為 “2020年 11月 12日 周四 上午 09:56:28”,則輸出如下:
Thu Nov 12 09:56:28 CST 2020
(3)set( field: int, value: int) : void
設置日歷對象的時間值
Calendar calendar = Calendar.getInstance(); //獲取當前時間
System.out.println(calendar.getTime());
calendar.set(Calendar.HOUR, 1); //將calendar對象的 HOUR 量改為 1
System.out.println(calendar.getTime());
假設當前日期為 “2020年 11月 12日 周四 上午 10:05:14”,則輸出如下:
Thu Nov 12 10:05:14 CST 2020
Thu Nov 12 01:05:14 CST 2020 //更改后小時的數值從10變為1
Calendar calendar = Calendar.getInstance();
System.out.println(calendar.getTime());
calendar.set(Calendar.DAY_OF_YEAR, 1); //將calendar對象所代表的日期改為當前年的第一天
System.out.println(calendar.getTime());
假設當前日期為 “2020年 11月 12日 周四 上午 10:05:14”,則輸出如下:
Thu Nov 12 10:07:53 CST 2020
Wed Jan 01 10:07:53 CST 2020 //日期變為2020年的第一天,具體的時、分、秒沒有變
Calendar calendar = Calendar.getInstance();
System.out.println(calendar.getTime());
calendar.set(Calendar.WEEK_OF_MONTH, 1); //將當前周改為當前月的第一周
System.out.println(calendar.getTime());
假設當前日期為 “2020年 11月 12日 周四 上午 10:12:01”,則輸出如下:
Thu Nov 12 10:12:01 CST 2020
Thu Nov 05 10:12:01 CST 2020 //將當前周改為第一周,月份和具體的星期幾不變
(4)更多的set方法
<1> set (int year, int month, int date) : void
設置日歷字段中的值 YEAR , MONTH和 DAY_OF_MONTH 。
<2> set (int year, int month, int date, int hourOfDay, int minute)
設置日歷字段中的值 YEAR , MONTH , DAY_OF_MONTH , HOUR_OF_DAY和 MINUTE 。
<3> set (int year, int month, int date, int hourOfDay, int minute, int second)
設置字段中的值 YEAR , MONTH , DAY_OF_MONTH , HOUR_OF_DAY , MINUTE和 SECOND 。
<4> setTime (date: Date) : void
用給定的 Date 對象來設置該日歷的時間值
(5)add(field: int, amount: int) : void
對給定的日歷域增加或減去給定數目的時間
Calendar calendar = Calendar.getInstance();
System.out.println(calendar.getTime());
calendar.add(Calendar.HOUR, 1); //將當前的小時加一
System.out.println(calendar.getTime());
假設當前日期為 “2020年 11月 12日 周四 上午 10:24:25”,則輸出如下:
Thu Nov 12 10:24:25 CST 2020
Thu Nov 12 11:24:25 CST 2020 //10點變成了11點
Calendar calendar = Calendar.getInstance();
System.out.println(calendar.getTime());
calendar.add(Calendar.WEEK_OF_MONTH, 2); //將當前時間向后推后兩周
System.out.println(calendar.getTime());
假設當前日期為 “2020年 11月 12日 周四 上午 10:28:06”,則輸出如下:
Thu Nov 12 10:28:06 CST 2020
Thu Nov 26 10:28:06 CST 2020 //推后兩周即加了14天,所以12號變成了26號
Calendar calendar = Calendar.getInstance();
System.out.println(calendar.getTime());
calendar.add(Calendar.YEAR, -2); //將當前時間向前推前兩年
System.out.println(calendar.getTime());
假設當前日期為 “2020年 11月 12日 周四 上午 10:30:12”,則輸出如下:
Thu Nov 12 10:30:12 CST 2020
Mon Nov 12 10:30:12 CST 2018 //2020年變成了2018年,具體星期幾也發生了變化
總結
以上是生活随笔為你收集整理的java 假设当前时间_Java中与日期和时间相关的类和方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python Pytest调用fixtu
- 下一篇: 【数据库】Mysql的CONCAT()函