字符串日期轉化
字符串轉換為Calendar對象:
// 日期字符串 private String dateStr; // 將字符串轉換后的Calender對象 private Calendar calendar = null; public Calendar getCalendar() { // 聲明一個Date類型的對象 Date date = null; // 聲明格式化日期的對象 SimpleDateFormat format = null; if (dateStr != null) { // 創建日期的格式化類型 format = new SimpleDateFormat("yyyy-MM-dd"); // 創建一個Calendar類型的對象 calendar = Calendar.getInstance(); // forma.parse()方法會拋出異常 try { //解析日期字符串,生成Date對象 date = format.parse(dateStr); // 使用Date對象設置此Calendar對象的時間 calendar.setTime(date); } catch (Exception e) { e.printStackTrace(); } }
Calendar轉換字符串:
Calendar calendar = Calendar.getInstance(); SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");// 設置你想要的格式String dateStr = df.format(calendar.getTime()); System.out.println(dateStr);
YYYY-mm-dd HH:MM:SS大小寫解釋
HH是24小時制,hh是12小時制
區別就是:大寫的H是二十四小時制的小時數(0-23),小寫的h是十二小時制的小時數(am/pm 1-12)
//24小時制
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//12小時制
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
String date1 = "2017-04-23 16:45:12";
try {
sdf.parse(date1);
System.out.println(sdf.format(sdf.parse(date1))); //2017-04-23 16:45:12
System.out.println(sdf1.format(sdf.parse(date1))); //2017-04-23 04:45:12
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Java里面MM表示月 mm表示分鍾 HH表示 24小時制 hh表示12小時制
Oracle里面 mm表示月 mi表示分鍾 hh24表示小時
mm與m等,它們的區別為是否有前導零:H,m,s表示非零開始,HH,mm,ss表示從零開始。
比如凌晨1點2分,HH:mm顯示為01:02,H:m顯示為1:2。
d 月中的某一天。一位數的日期沒有前導零。
dd 月中的某一天。一位數的日期有一個前導零。
ddd 周中某天的縮寫名稱,在 AbbreviatedDayNames 中定義。
dddd 周中某天的完整名稱,在 DayNames 中定義。
M 月份數字。一位數的月份沒有前導零。
MM 月份數字。一位數的月份有一個前導零。
MMM 月份的縮寫名稱,在 AbbreviatedMonthNames 中定義。
MMMM 月份的完整名稱,在 MonthNames 中定義。
y 不包含紀元的年份。不具有前導零。
yy 不包含紀元的年份。具有前導零。
yyyy 包括紀元的四位數的年份。
gg 時期或紀元。
h 12 小時制的小時。一位數的小時數沒有前導零。
hh 12 小時制的小時。一位數的小時數有前導零。
H 24 小時制的小時。一位數的小時數沒有前導零。
HH 24
https://blog.csdn.net/anmoyyh/article/details/70670363
https://blog.csdn.net/u013400939/article/details/47761113