2021-11-12Date类
生活随笔
收集整理的這篇文章主要介紹了
2021-11-12Date类
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.毫秒值的概念和作用
2.Date類的構造方法和成員方法
Demo02Date.java
package Date;import java.util.Date;public class Demo02Date {public static void main(String[] args) {//1.構造方法Date,分配 Date 對象并初始化此對象,以表示分配它的時間(精確到毫秒)。Date date1 = new Date();System.out.println(date1);//Fri Nov 12 20:13:28 CST 2021//2.Date(long date)分配 Date 對象并初始化此對象,以表示自從標準基準時間(稱為“歷元(epoch)”,// 即 1970 年 1 月 1 日 00:00:00 GMT)以來的指定毫秒數。Date date2 = new Date(17779999L);Date date3 = new Date(0L);System.out.println(date2);//Thu Jan 01 12:56:19 CST 1970System.out.println(date3);//Thu Jan 01 08:00:00 CST 1970//3.getTime()// 返回自 1970 年 1 月 1 日 00:00:00 GMT 以來此 Date 對象表示的毫秒數。Date date4 = new Date();System.out.println(date4.getTime());//1636719470013} }3.DateFormat類和SimpleFormat類
Demo01DateFormat.java
4.練習
DatePract.java
import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Scanner;//使用日期相關的API,計算出一個人已經出生了多少天/* * 思路: * 1.使用Scanner類中的方法next,獲取出生日期 * 2.使用DateFormat類中的方法parse,把字符串的出生日期解析為Date格式 * 3.把Date格式的出生日期轉換為毫秒值 * 4.獲取當前的日期,轉換為毫秒值 * 5.使用當前日期的毫秒值-出生日期的毫秒值 * 6.把毫秒值的差值轉換為天(s/1000/60/60/24)(注意剛開始自己還除以365,不對的!!!!) * */ public class DatePract {public static void main(String[] args) throws ParseException {Date dateNow = new Date();System.out.println("現在時間是:" + dateNow);Long dataNew = dateNow.getTime();System.out.println("請輸入你的出生日期:");//String dateBorn = new Scanner(System.in).next("yyyy-MM-dd HH:mm:ss");String dateBorn = new Scanner(System.in).next();SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");Long dateOld = sdf.parse(dateBorn).getTime();int days = (int) ((dataNew - dateOld) / ( 24 * 60 * 60 * 1000));System.out.println(days);//8799} }5.Calendar類
Date的很多類已經不用了,常用Calendar類來代替
6.Calendar類常用的成員變量方法
Demo02Calendar.java
package Calender;import java.util.Calendar;/** Calendar類的成員方法:* -public int get(int field):返回給定日歷字段的值* -public void set(int field,int value):將給定的日歷字段設置為給定值* -public abstract void add(int field, int amount):根據日歷規則,為給定的日歷字段添加或減去指定的時間量* -public Date getTime():返回一個表示此Calendar時間值(從歷元到現在的毫秒偏移量)的Date對象* 成員方法的參數:* int field :日歷類的字段,可以用Calendar類的靜態變量獲取* */ public class Demo02Calendar {public static void main(String[] args) {Calendar c = Calendar.getInstance();int year = c.get(Calendar.YEAR);System.out.println(year);int month = c.get(Calendar.MONTH) + 1;//西方月份0-11,中國1-12System.out.println(month);int day = c.get(Calendar.DATE);//DAY_OF_MONTH一樣效果System.out.println(day);/*2.* public void set(int field, int value):將給定的日歷字段設置為給定值* 參數:* int field:傳遞指定的日歷字段(YEAR,MONTH)* int value:傳遞的字段設置的具體的值* */c.set(Calendar.YEAR,2010);System.out.println(c.get(Calendar.YEAR));//2010//同時設置年月日,可以使用set的重載方法//c.set(8888,8,8);//3.-public abstract void add(int field, int amount):根據日歷規則,為給定的日歷字段添加或減去指定的時間量c.add(Calendar.YEAR,+2);System.out.println(c.get(Calendar.YEAR));//2012c.add(Calendar.YEAR,-2);System.out.println(c.get(Calendar.YEAR));//2010//4.public Date getTime():返回一個表示此Calendar時間值(從歷元到現在的毫秒偏移量)的Date對象//日歷對象轉化為日期對象System.out.println(c.getTime());//Sat Nov 13 19:14:04 CST 2010} } //2021 //11 //137.時間日期相關類總結
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的2021-11-12Date类的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2021-11-11Object类
- 下一篇: 2021-11-13SystemStri