Java有關日期的操作隨筆
阿新 • • 發佈:2018-11-09
1970-1-1距離現在的時間毫秒--獲取的long值 Java.util.Date Date date= new Date(); System.out.println(date);// 輸出當前時間 lont time =date.getTime(); ---距現在的時間 獲取long 值 date.setTime(); ----設定你想要的long值 java.text.SimpleDateForma; 可以根據一個特定的日期格式字串 ----yyyy-MM-dd HH:mm:ss SimpleDateFormat sdf = new Simle--("yyyy-MM-dd HH---") sdf.Format() --標準格式轉化為 指定格式 sdf.parse() --指定格式解析為標準格式 --要拋異常 Calender 類--是個抽象類 -----------Calendar --Date --String之間的轉換 看程式碼---- getInstance --很重要 程式碼在 java_se中的day03中,getInstance--set--get--add四個重點的類
package day03; import java.text.ParseException; import java.text.SimpleDateFormat; /** * java.uitl.Calendar * 日曆類,用於計算時間,操作時間使用 * Calender 是一個抽象類只規定了操作時間的相關方法 * 定義。並沒有具體實現 * 常用類GregorianCalendar 即:陽曆曆法 * * Calendar提供了一個靜態方法 getInstance,該方法可以 * 根據當前系統所在地返回一個合適的日曆實現類 * 大部分都是返回陽曆實現類GreforianCalendar * * * */ import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; public class Calendar_getInstance { public static void main(String args[]) throws ParseException{ /* * Calender內部表示一個時間 * 預設創建出來的Calendar表示 * 當前時間 */ /* * Calendar -->Date * getTime(); */ Calendar calendar = Calendar.getInstance(); System.out.println(calendar); Date date = calendar.getTime();// 得到標準的格式 System.out.println(date); // System.out.println(date.getTime()); 得到long值 // long k =calendar.getTime().getTime(); 得到long值 /* * 一 :Date ->Calendar * Calendar 提供了方法 * void setTime(Date date) * 可以使當前Calendar 表示給定的Date所表示的日期 */ Date d2 = new Date(); Calendar c2 = Calendar.getInstance(); c2.setTime(d2); /* * Calendar -->String * 首先 * Calendar ->Date * 再 * Date->String 通過SimplDateFormat 轉化為字串 */ Calendar c3 = Calendar.getInstance(); Date d3 = new Date(); d3=c3.getTime(); SimpleDateFormat s3 = new SimpleDateFormat("yyyy MM dd HH:mm:ss"); String str3=s3.format(d3); System.out.println(str3); /* * String -->Calendar * 首先 * 解析為Date --parse() * 通過 Calendar 的setTime() 將轉化為Calendar(); */ String str4 = "2008-08-08"; SimpleDateFormat s4 = new SimpleDateFormat("yyyy-MM-dd"); Date d4 =s4.parse(str4); Calendar c4 = Calendar.getInstance(); System.out.println(c4); c4.setTime(d4); System.out.println(c4); } }
package day03; import java.util.Calendar; /** * Calendar 提供了可以對指定時間分量設定一個值 * void set (int field ,int value) * * */ public class Calendar_set { public static void main(String [] args){ Calendar calendar = Calendar.getInstance(); System.out.println(calendar.getTime()); /* * 表示2008-08-08 20-08-08 */ //設定年 calendar.set(Calendar.YEAR,2008); System.out.println(calendar.getTime()); //設定月 calendar.set(Calendar.MONTH, 7); System.out.println(calendar.getTime()); //設定日 calendar.set(Calendar.DAY_OF_MONTH,8); System.out.println(calendar.getTime()); calendar.set(Calendar.HOUR_OF_DAY,20); System.out.println(calendar.getTime()); calendar.set(Calendar.MINUTE, 8); calendar.set(Calendar.SECOND,8); System.out.println(calendar.getTime()); } }
package day03;
import java.util.Calendar;
/**
* Calendar 提供了用於計算時間的方法
*
* void add (int field ,int value )
* 是指定的時間分量加上給定的值,若給定的值為負數
* 則是減去
*
*
*/
public class Calendar_add {
public static void main(String args[]){
// 檢視三年四月零100天以後是哪天
Calendar calendar =Calendar.getInstance();
calendar.add(Calendar.YEAR,4);
calendar.add(Calendar.MONTH, 4);
calendar.add(Calendar.DAY_OF_YEAR, 100);
System.out.println(calendar.getTime());
}
}
package day03;
import java.util.Calendar;
/**
* Calendar提供的方法
* int get(int field)
* 該方法可以獲取給定時間分量所對應的值
*
* 引數int ,不同的值表示不同的時間分量
* 無需記住每個值表示什麼,因為Calendar提供了大量
* 常量表示了這些時間分量值
*
*
*/
public class Calendar_get {
public static void main(String args[]){
Calendar calendar = Calendar.getInstance();
//獲取年?
int year =calendar.get(Calendar.YEAR);
System.out.println(year);
//獲取月---月從0 開始
int month =calendar.get(Calendar.MONTH)+1;
System.out.println(month);
//獲取日
int day =calendar.get(Calendar.DAY_OF_YEAR);
System.out.println(day); // day of mouth day of week
int h=calendar.get(Calendar.HOUR_OF_DAY);
System.out.println(h);
int m=calendar.get(Calendar.MINUTE);
System.out.println(m);
int s=calendar.get(Calendar.SECOND);
System.out.println(s);
//星期從星期天開始
String [] data ={"日","一","二","三","四","五","六"};
int dow =calendar.get(Calendar.DAY_OF_WEEK)-1;
System.out.println("周"+data[dow]);
int doy=calendar.get(Calendar.WEEK_OF_YEAR);
System.out.println("第"+doy+"周");
// 獲取分量的最大值
int dd=calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
System.out.println("這個月一共"+dd+"天");
}
}