1. 程式人生 > >整理Java基礎知識--Date & Time1

整理Java基礎知識--Date & Time1

args 時間格式 字母 edate cst boolean rabl 時間 運行

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/18
HH:MM:SS PM格式(12時制):12:44:02 上午
HH:MM:SS格式(24時制):00:44:02
HH:MM格式(24時制):00:44
F:\>

重復提供日期,可格式化:

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 2018
Due 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