1. 程式人生 > >Java經常使用日期操作具體解釋

Java經常使用日期操作具體解釋

data exc 用法 div pen mod code 日歷 pri

Date類型大多數時間分量計算方法已經被Calendar代替
Date經常用法setTime getTime()
new Date();默認獲取當前的時間

SimpleDateFormat用來格式化和解析日期的詳細類
匹配日期的字符串
y–>年
M–>月
d–>日
E–>星期
a–>上下午
H–>小時(24小時制)
h–>小時(12小時制)
m–>分
s–>秒

格式化Date返回值為String


SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"
); String result = sdf.format(new Date()); System.out.println(result);

輸出結果:2015-07-22 21:17:43

將String解析為Date

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String strDate = "2015-07-22 21:21:01";
Date date = sdf.parse(strDate);
System.out.println(date);

輸出結果:
Wed Jul 22 21:21:01 CST 2015

Calender封裝了日歷信息
經常用法:
getInstance()獲取一個系統所在地區的一個Calender的子類實現
通經常使用於實例化Calendar
set(int field,int value)設置時間
get(int field)獲取時間分量相應值
getActualMaximum(int field)獲取時間分量的最大值
add()對時間分量進行計算
setTime和getTime方法設置和獲取時間

綜合運用:
商品促銷計算程序
需求:
用戶輸入商品生產日期和保質期。通過程序計算促銷日期
計算規則:
到保質期前14添所在的周三為促銷日

public
class PromotionDate { public static void main(String[] args) throws Exception { Calendar cd = Calendar.getInstance(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Scanner sc = new Scanner(System.in); System.out.print("請輸入生產日期:"); Date productionDate= sdf.parse(sc.nextLine());//接收字符串並轉換為日期型 System.out.print("請輸入保質期:"); int days = sc.nextInt(); cd.setTime(productionDate); cd.add(Calendar.DAY_OF_YEAR, (days - 14)); cd.set(Calendar.DAY_OF_WEEK, Calendar.WEDNESDAY); String promotionDate = sdf.format(cd.getTime()); //格式化計算後的日期 System.out.println("該產品的促銷日期為:"+ promotionDate); sc.close(); } }

測試結果:
請輸入生產日期:2015-01-01
請輸入保質期:180
該產品的促銷日期為:2015-06-17

Java經常使用日期操作具體解釋