Java
Java API
| Java | |||||
|---|---|---|---|---|---|
| Date, CalendarGregorianCalendar | 1.0+ | ||||
| LocalDate, LocalTime, LocalDateTime, ZonedDateTime, ChronoUnit | 8+ | ||||
| Instant | 8+ | ||||
| DateTimeFormatter | 8+ |
LocalDate/DateTimeFormatter
LocalDate/DateTimeFormatter Java 8 LocalDate --DateTimeFormatter
import java.time.format.DateTimeFormatter;
public class RunoobTest {
public static void main(String[] args) {
//
LocalDate today = LocalDate.now();
System.out.println(": " + today);
//
LocalDate nationalDay = LocalDate.of(2025, 10, 1);
System.out.println(": " + nationalDay);
//
LocalDate tomorrow = today.plusDays(1);
LocalDate nextMonth = today.plusMonths(1);
LocalDate lastYear = today.minusYears(1);
System.out.println(": " + tomorrow);
System.out.println(": " + nextMonth);
System.out.println(": " + lastYear);
}
}
: 2025-05-01 : 2025-10-01 : 2025-05-02 : 2025-06-01 : 2024-05-01
-
java.time (Java 8+)
-
Date Calendar
-
-
LocalDate/LocalTime/LocalDateTime
-
ZonedDateTime
-
-
DateTimeFormatter SimpleDateFormat
-
-
JDBC 4.2+ java.time
-
java.sql.Date/Timestamp
-
1. LocalDate ()
LocalDate date = LocalDate.of(2023, Month.JUNE, 15);
int year = date.getYear(); // 2023
Month month = date.getMonth(); // JUNE
int day = date.getDayOfMonth(); // 15
LocalDate nextWeek = today.plusWeeks(1);
boolean isLeap = date.isLeapYear(); //
2. LocalTime ()
LocalTime time = LocalTime.of(14, 30, 45); // 14:30:45
int hour = time.getHour(); // 14
int minute = time.getMinute(); // 30
LocalTime nextHour = time.plusHours(1);
3. LocalDateTime ()
LocalDateTime dt = LocalDateTime.of(2023, 6, 15, 14, 30);
LocalDateTime nextMonth = dt.plusMonths(1);
4. ZonedDateTime ()
ZonedDateTime nyTime = zdt.withZoneSameInstant(ZoneId.of("America/New_York"));
ZoneId zone = zdt.getZone(); //
5. Instant ()
Instant later = now.plusSeconds(60); // 60
long epochMilli = now.toEpochMilli(); //
Date
java.util Date Date Date
1970 1 1
Date
| 1 |
boolean after(Date date) Datetrue,false |
| 2 |
boolean before(Date date) Datetrue,false |
| 3 |
Object clone( ) |
| 4 |
int compareTo(Date date) Date0 |
| 5 |
int compareTo(Object obj) objDatecompareTo(Date) ClassCastException |
| 6 |
boolean equals(Object date) Datetrue,false |
| 7 |
long getTime( ) 1970 1 1 00:00:00 GMT Date |
| 8 |
int hashCode( ) |
| 9 |
void setTime(long time) 19701100:00:00 GMTtime |
| 10 |
String toString( ) Date String dow mon dd hh:mm:ss zzz yyyy dow (Sun, Mon, Tue, Wed, Thu, Fri, Sat) |
Java Date toString()
:
Mon May 04 09:51:52 CDT 2013
Java
- getTime() 197011
- before()after() equals() 12 18 new Date(99, 2, 12).before(new Date (99, 2, 18)) true
- compareTo() Comparable Date
1. getTime()
197011Unix
public class DateComparison {
public static void main(String[] args) {
Date date1 = new Date(121, 5, 15); // 2021615
Date date2 = new Date(121, 5, 20); // 2021620
//
if (date1.getTime() < date2.getTime()) {
System.out.println("date1 date2 ");
} else if (date1.getTime() > date2.getTime()) {
System.out.println("date1 date2 ");
} else {
System.out.println("");
}
}
}
date1 date2
2. before(), after() equals()
Date
public class DateComparison {
public static void main(String[] args) {
Date date1 = new Date(121, 5, 15); // 2021615
Date date2 = new Date(121, 5, 20); // 2021620
// before()
System.out.println("date1 date2 " + date1.before(date2));
// after()
System.out.println("date1 date2 " + date1.after(date2));
// equals()
System.out.println(" " + date1.equals(date2));
}
}
date1 date2 true date1 date2 false false
3. compareTo()
Date Comparable compareTo()
public class DateComparison {
public static void main(String[] args) {
Date date1 = new Date(121, 5, 15); // 2021615
Date date2 = new Date(121, 5, 20); // 2021620
int result = date1.compareTo(date2);
if (result < 0) {
System.out.println("date1 date2 ");
} else if (result > 0) {
System.out.println("date1 date2 ");
} else {
System.out.println("");
}
}
}
date1 date2
SimpleDateFormat
SimpleDateFormat SimpleDateFormat
SimpleDateFormat ft = new SimpleDateFormat ("yyyy-MM-dd hh:mm:ss");
yyyy MM dd HH:mm:ss
: MM mm HH 24 hh 12
:
: 2018-09-06 10:16:34
ASCII
| G | AD | |
| y | 2001 | |
| M | July or 07 | |
| d | 10 | |
| h | A.M./P.M. (1~12) | 12 |
| H | (0~23) | 22 |
| m | 30 | |
| s | 55 | |
| S | 234 | |
| E | Tuesday | |
| D | 360 | |
| F | 2 (second Wed. in July) | |
| w | 40 | |
| W | 1 | |
| a | A.M./P.M. | PM |
| k | (1~24) | 24 |
| K | A.M./P.M. (0~11) | 10 |
| z | Eastern Standard Time | |
| ' | Delimiter | |
| " | ` |
printf
printf %t
- %tY2023
- %ty23
- %tm02
- %tBFebruary
- %tbFeb
- %tAWednesday
- %taWed
- %td24
- %te24 02
- %tH2423
- %tI1211
- %tM45
- %tS30
- %tpAM PM
- %tZGMT+08:00
|
%tc |
27 14:21:20 CST 2007 |
|
|
%tF |
"--" |
2007-10-27 |
|
%tD |
"//" |
10/27/07 |
|
%tr |
"HH:MM:SS PM"12 |
02:25:51 |
|
%tT |
"HH:MM:SS"24 |
14:28:16 |
|
%tR |
"HH:MM"24 |
14:28 |
printf Java printf
public class DateFormatExample {
public static void main(String[] args) {
Date date = new Date();
System.out.printf("%tY-%tm-%td %tH:%tM:%tS %tZ", date, date, date, date, date, date, date);
}
}
2023-02-24 13:34:45 GMT+08:00
:
10 10:43:36 CST 2012 --2012-09-10 //09/10/12 HH:MM:SS PM1210:43:36 HH:MM:SS2410:43:36 HH:MM2410:43
% $
:
Due date: February 09, 2014
<
:
Due date: February 09, 2014
May May Thu 020 017 124 005 004 04
SimpleDateFormat parse()SimpleDateFormat
:
$ java DateDemo 1818-11-11 Parses as Wed Nov 11 00:00:00 GMT 1818 $ java DateDemo 2007-12-01 2007-12-01 Parses as Sat Dec 01 00:00:00 GMT 2007
Java (sleep)
sleep()CPUCPU
3
:
Thu Sep 17 10:20:30 CST 2015 Thu Sep 17 10:20:33 CST 2015
:
Fri Jan 08 09:48:47 CST 2016 Fri Jan 08 09:48:50 CST 2016 Difference is : 3019
Calendar
? ? Calendar
CalendarDateDate
CalendargetInstance
Calendar
Calendar c = Calendar.getInstance();//
Calendar
CalendarCalendar
//2009612Calendar Calendar c1 = Calendar.getInstance(); c1.set(2009, 6 - 1, 12);
Calendar
Calendarjdk
| Calendar.YEAR | |
| Calendar.MONTH | |
| Calendar.DATE | |
| Calendar.DAY_OF_MONTH | |
| Calendar.HOUR | 12 |
| Calendar.HOUR_OF_DAY | 24 |
| Calendar.MINUTE | |
| Calendar.SECOND | |
| Calendar.DAY_OF_WEEK |
Calendar
Set
Calendar c1 = Calendar.getInstance();
public final void set(int year,int month,int date)
c1.set(2009, 6, 12);//Calendarc12009612
set
public void set(int field,int value)
c110
c1.set(Calendar.DATE,10);
c12008
c1.set(Calendar.YEAR,2008);
set
Add
Calendar c1 = Calendar.getInstance();
c110c110
c1.add(Calendar.DATE, 10);
c110c110
c1.add(Calendar.DATE, -10);
add
Calendar
GregorianCalendar
CalendarGregorianCalendarCalendar
Calendar getInstanceGregorianCalendarGregorianCalendarADBC
GregorianCalendar
| 1 |
GregorianCalendar() GregorianCalendar |
| 2 |
GregorianCalendar(int year, int month, int date) GregorianCalendar |
| 3 |
GregorianCalendar(int year, int month, int date, int hour, int minute) GregorianCalendar |
| 4 |
GregorianCalendar(int year, int month, int date, int hour, int minute, int second) GregorianCalendar |
| 5 |
GregorianCalendar(Locale aLocale) GregorianCalendar |
| 6 |
GregorianCalendar(TimeZone zone) GregorianCalendar |
| 7 |
GregorianCalendar(TimeZone zone, Locale aLocale) GregorianCalendar |
GregorianCalendar
| 1 |
void add(int field, int amount) |
| 2 |
protected void computeFields() UTC |
| 3 |
protected void computeTime() Calendar UTC |
| 4 |
boolean equals(Object obj) GregorianCalendar Object |
| 5 |
int get(int field) |
| 6 |
int getActualMaximum(int field) |
| 7 |
int getActualMinimum(int field) |
| 8 |
int getGreatestMinimum(int field) GregorianCalendar |
| 9 |
Date getGregorianChange() |
| 10 |
int getLeastMaximum(int field) GregorianCalendar |
| 11 |
int getMaximum(int field) GregorianCalendar |
| 12 |
Date getTime() |
| 13 |
long getTimeInMillis() |
| 14 |
TimeZone getTimeZone() |
| 15 |
int getMinimum(int field) |
| 16 |
int hashCode() hashCode. |
| 17 |
boolean isLeapYear(int year) |
| 18 |
void roll(int field, boolean up) / |
| 19 |
void set(int field, int value) |
| 20 |
void set(int year, int month, int date) |
| 21 |
void set(int year, int month, int date, int hour, int minute) |
| 22 |
void set(int year, int month, int date, int hour, int minute, int second) |
| 23 |
void setGregorianChange(Date date) GregorianCalendar |
| 24 |
void setTime(Date date) Calendar |
| 25 |
void setTimeInMillis(long millis) longCalendar |
| 26 |
void setTimeZone(TimeZone value) |
| 27 |
String toString() |
Date: Apr 22 2009 Time: 11:25:27
Calendar Java
lhm***@126.com
Calendar 0 1
import java.util.Calendar; public class Test { public static void main(String[] args) { Calendar c1 = Calendar.getInstance(); c1.set(2017, 1, 1); System.out.println(c1.get(Calendar.YEAR) +"-"+c1.get(Calendar.MONTH) +"-"+c1.get(Calendar.DATE)); c1.set(2017, 1, 0); System.out.println(c1.get(Calendar.YEAR) +"-"+c1.get(Calendar.MONTH) +"-"+c1.get(Calendar.DATE)); } }00
2
import java.util.Calendar; public class Test { public static void main(String[] args) { Calendar c1 = Calendar.getInstance(); c1.set(2017, 2, 1); System.out.println(c1.get(Calendar.YEAR) +"-"+c1.get(Calendar.MONTH) +"-"+c1.get(Calendar.DATE)); c1.set(2017, 2, 0); System.out.println(c1.get(Calendar.YEAR) +"-"+c1.get(Calendar.MONTH) +"-"+c1.get(Calendar.DATE)); } }28Calendar.MONTH12
0
import java.util.Calendar; public class Test { public static void main(String[] args) { Calendar c1 = Calendar.getInstance(); c1.set(2017, 2, 1); System.out.println(c1.get(Calendar.YEAR) +"-"+c1.get(Calendar.MONTH) +"-"+c1.get(Calendar.DATE)); c1.set(2017, 2, -10); System.out.println(c1.get(Calendar.YEAR) +"-"+c1.get(Calendar.MONTH) +"-"+c1.get(Calendar.DATE)); } }+1
lhm***@126.com
173***[email protected]
import java.util.Date; public class DateDemo { public static void main(String[] args) { // Date Date date = new Date(); //c System.out.printf("%tc%n",date); //f System.out.printf("--%tF%n",date); //d System.out.printf("//%tD%n",date); //r System.out.printf("HH:MM:SS PM12%tr%n",date); //t System.out.printf("HH:MM:SS24%tT%n",date); //R System.out.printf("HH:MM24%tR",date); } }173***[email protected]