標籤:字母 -- 編碼 ted 雜湊 body long time 相等
java.util 包提供了Date 類來封裝當前的日期和時間 提供了2個函數來執行個體化 Date 對象
1.Date()
2.Date(long millisec)//參數是從1970/01/01起的毫秒數
日期比較
Java使用以下三種方法來比較兩個日期:
1.使用 getTime() 方法擷取兩個日期(自1970年1月1日經曆的毫秒數值),然後比較這兩個值。
2.使用方法 before(),after() 和 equals()。
3.使用 compareTo() 方法,它是由 Comparable 介面定義的,Date 類實現了這個介面。
使用 SimpleDateFormat 格式化日期
SimpleDateFormat 是一個以語言環境敏感的方式來格式化和分析日期的類。SimpleDateFormat 允許你選擇任何使用者自訂日期時間格式來運行。
import java.util.*;import java.text.*;public class DateDemo { public static void main(String args[]) { Date dNow = new Date( ); SimpleDateFormat ss = new SimpleDateFormat ("E yyyy.MM.dd ‘at‘ hh:mm:ss a zzz"); System.out.println("Current Date: " +ss.format(dNow)); }}輸出結果:Current Date:星期日 2018.01.14 at 00:29:06 上午 CST
日期和時間的格式化編碼
| 字母 |
描述 |
| G |
紀元標記 |
| y |
四位年份 |
| M |
月份 |
| d |
Text |
| h |
12小時制 |
| H |
24小時制 |
| m |
分 |
| s |
秒 |
| S |
毫秒 |
| E |
星期幾 |
| D |
一年中的日子 |
| F |
一個月中第幾周的周幾 |
| w |
一年中第幾周 |
| W |
一個月的第幾周 |
| a |
a.m/p.m |
| k |
一天中的小時1-24 |
| K |
A.M./P.M. (0~11)格式小時 |
| z |
時區 |
| ‘ |
文字定界符 |
| ‘‘ |
單引號 |
使用printf格式化日期
| 轉換符 |
描述 |
| c |
包括全部日期和時間資訊 |
| F |
"年-月-日"格式 |
| D |
"月/日/年"格式 |
| r |
"HH:MM:SS PM"格式(12時制) |
| T |
"HH:MM:SS"格式(24時制) |
| R |
"HH:MM"格式(24時制) |
import java.util.Date;public class DateDemo { public static void main(String args[]) { Date date = new Date(); System.out.printf("全部日期和時間資訊:%tc%n",date); System.out.printf("年-月-日格式:%tF%n",date); System.out.printf("月/日/年格式:%tD%n",date); System.out.printf("HH:MM:SS PM格式(12時制):%tr%n",date); System.out.printf("HH:MM:SS格式(24時制):%tT%n",date); System.out.printf("HH:MM格式(24時制):%tR",date); }}輸出結果:全部日期和時間資訊:星期日 一月 14 00:44:02 CST 2018年-月-日格式:2018-01-14月/日/年格式:01/14/18HH:MM:SS PM格式(12時制):12:44:02 上午HH:MM:SS格式(24時制):00:44:02HH:MM格式(24時制):00:44F:\>
重複提供日期,可格式化:
import java.util.Date; public class DateDemo { public static void main(String args[]) { Date date = new Date(); System.out.printf("%1$s %2$tB %2$td %2$tY", "Due date:", date); System.out.printf("%s %tB %<te %<tY", "Due date:", date); }}輸出結果:Due date: 一月 14 2018Due date: 一月 14 2018%1$s>>"Due date:" 輸出第一個字串:Due date:%2$tB %2$td %2$tY>>date 輸出第2個字串date中的月日年
**Date 對象建立後 可調用的方法:
| 方法 |
描述 |
| boolean after(Date date) |
若當調用此方法的Date對象在指定日期之後返回true,否則返回false |
| boolean before(Date date) |
若當調用此方法的Date對象在指定日期之前返回true,否則返回false |
| Object clone( ) |
返回此對象的副本 |
| int compareTo(Date date) |
比較當調用此方法的Date對象和指定日期。兩者相等時候返回0。調用對象在指定日期之前則返回負數。調用對象在指定日期之後則返回正數。 |
| int compareTo(Object obj) |
若obj是Date類型則操作等同於compareTo(Date) 。否則它拋出ClassCastException。 |
| boolean equals(Object date) |
當調用此方法的Date對象和指定日期相等時候返回true,否則返回false |
| long getTime( ) |
返回自 1970 年 1 月 1 日 00:00:00 GMT 以來此 Date 對象表示的毫秒數。 |
| int hashCode( ) |
返回此對象的雜湊碼值。 |
| void setTime(long time) |
用自1970年1月1日00:00:00 GMT以後time毫秒數設定時間和日期。 |
| String toString( ) |
把此 Date 對象轉換為以下形式的 String: dow mon dd hh:mm:ss zzz yyyy 其中: dow 是一周中的某一天 (Sun, Mon, Tue, Wed, Thu, Fri, Sat)。 |
**
整理Java基礎知識--Date & Time1