Java 日付クラスの一般的な使用法

王林
リリース: 2023-04-23 21:13:06
転載
1097 人が閲覧しました

Date 関連クラス

1.Date クラス

標準 Java クラス ライブラリに Date クラスが含まれており、そのオブジェクトはミリ秒単位の精度で特定の瞬間を表します。オンライン モールで注文し、払い戻しフォームを確認するときは、現在の時刻を取得する必要があります。これは Date クラスを通じて実現できます。

例: Date クラスの使用

package li.normalclass.date;
 
import java.util.Date;
 
public class TestDate {
    public static void main(String[] args) {
        //获取当前的时间 格式为 yyyyMMddhhmmss
        Date date = new Date();//相当于new Date(System.currentTimeMillis())
        //操作当前的时间
        System.out.println(date.toString());//Sat Aug 06 19:15:28 CST 2022
        System.out.println(date.toLocaleString());//2022-8-6 19:16:06
        System.out.println(System.currentTimeMillis());//计算从1970年1月1日 0:00:00到目前为止的毫秒数
        System.out.println(date.getYear());//122  =2022-1900
        System.out.println(date.getMonth());//7   0-11   现在是八月
        System.out.println(date.getDate());//6 日
        System.out.println(date.getDay());//6   当前为星期六   注:星期日为0
        System.out.println(date.getHours());//19    当前为19点
        System.out.println(date.getMinutes());//26  当前为26分
        System.out.println(date.getSeconds());//16  当前为16秒
        System.out.println(date.getTime());//1659785176358  计算从1970年1月1日 0:00:00到目前为止的毫秒数
 
        //获取当前的时间 格式为 yyyyMMdd
        java.sql.Date sdate = new java.sql.Date(System.currentTimeMillis());
        System.out.println(sdate.toString());//2022-08-06
 
        java.sql.Date sdate2 = java.sql.Date.valueOf("1896-9-10");
        System.out.println(sdate2.toString());//1896-09-10
 
    }
}
ログイン後にコピー

API ドキュメントを見ると、Date クラスの多くのメソッドが廃止されていることがわかります。 JDK1.1より前の日付には、日付操作や文字列のオブジェクトへの変換などの操作が含まれていました。 JDK1.1以降、日付操作クラスはCalendarクラス、文字列変換はDateFormatクラスを使用するのが一般的です。

2.DateFormat クラス

形式: format

DateFormat は抽象クラスであり、通常はそのサブクラス SimpleDateFormat クラスを使用して実装されます。主な機能は、時刻オブジェクトを指定された形式の文字列に変換することです。逆に、指定された形式の文字列を時刻オブジェクトに変換することです。

文字列----->日付

日付----->文字列

例:

package li.normalclass.date;
 
import java.text.*;
import java.util.Date;
 
/**
 * 主要操作:
 *   DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//指定识别的格式
 *
 *   Date date = sdf.parse(strdate);//将字符串转换成日期
 *
 *   String strdate2 = sdf.format(date);//将日期转换成字符串
 */
public class TestDateFormat {
    public static void main(String[] args) throws ParseException {
        String strdate = "1999-12-23 12:12:12";//字符串
 
        //String---->Date
        //DateFormat是抽象类,要实例化只能引用它的子类SimpleDateFormat
        DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//指定识别的格式
        Date date = sdf.parse(strdate);//将字符串转换成日期
 
        String strdate2 = sdf.format(date);//将日期转换成字符串
        System.out.println(strdate2);
        
    }
}
ログイン後にコピー

Java 日付クラスの一般的な使用法

3.Calendar クラス

Calendar: Calendar

Example:

package li.normalclass.date;
 
import java.util.Calendar;
import java.util.GregorianCalendar;
 
public class TestCalendar {
    public static void main(String[] args) {
        //获取当前的时间
        Calendar cal = new GregorianCalendar();
        // 输出当前的时间
        System.out.println(cal);
        //java.util.GregorianCalendar[time=1659791839017,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Shanghai",offset=28800000,dstSavings=0,useDaylight=false,transitions=31,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2022,MONTH=7,WEEK_OF_YEAR=32,WEEK_OF_MONTH=1,DAY_OF_MONTH=6,DAY_OF_YEAR=218,DAY_OF_WEEK=7,DAY_OF_WEEK_IN_MONTH=1,AM_PM=1,HOUR=9,HOUR_OF_DAY=21,MINUTE=17,SECOND=19,MILLISECOND=17,ZONE_OFFSET=28800000,DST_OFFSET=0]
 
        System.out.println(cal.get(Calendar.YEAR));//2022
        System.out.println(cal.get(Calendar.MONTH));//7   0~11  7代表8月
        System.out.println(cal.get(Calendar.DATE));//6   代表6号
        System.out.println(cal.get(Calendar.DAY_OF_WEEK));//7  代表周六  从周日为1开始计算一周
 
        //改变时间
        cal.set(Calendar.DATE,1);//直接指定日期  1号
        cal.set(Calendar.MONTH,1);//直接指定月数  2月
        cal.add(Calendar.DATE,2);//在设置的日期上再加上两天
        System.out.println(cal.get(Calendar.YEAR));//2022 --  22年
        System.out.println(cal.get(Calendar.MONTH));//1 --  2月
        System.out.println(cal.get(Calendar.DATE));//3 --  3号
        System.out.println(cal.get(Calendar.DAY_OF_WEEK));//5 -- 周四
        System.out.println(cal.getActualMaximum(Calendar.DATE));//28 -- 指定月一共有多少天
    }
 
}
ログイン後にコピー

以上がJava 日付クラスの一般的な使用法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:yisu.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート