標準 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クラスを使用するのが一般的です。
形式: 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); } }
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 サイトの他の関連記事を参照してください。