字符串日期转化
字符串转换为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