Java学习之日期操作

一、日期格式化

 1 import java.text.DateFormat;
 2 import java.text.SimpleDateFormat;
 3 import java.util.Date;
 4 
 5 public class DateDemo {
 6 
 7     public static void main(String[] args) {
 8     Date date=new Date();
 9     
10     DateFormat dateFormat=DateFormat.getDateInstance();
11     
12     System.out.println(dateFormat.format(date));
13     
14     dateFormat=new SimpleDateFormat("yyyy--MM--dd");
15     System.out.println(dateFormat.format(date));
16     }
17 }

自定义格式化SimpleDateFormat字母代表的意义

 
LetterDate or Time ComponentPresentationExamples
G Era designator Text AD
y Year Year 1996; 96
Y Week year Year 2009; 09
M Month in year (context sensitive) Month July; Jul; 07
L Month in year (standalone form) Month July; Jul; 07
w Week in year Number 27
W Week in month Number 2
D Day in year Number 189
d Day in month Number 10
F Day of week in month Number 2
E Day name in week Text Tuesday; Tue
u Day number of week (1 = Monday, ..., 7 = Sunday) Number 1
a Am/pm marker Text PM
H Hour in day (0-23) Number 0
k Hour in day (1-24) Number 24
K Hour in am/pm (0-11) Number 0
h Hour in am/pm (1-12) Number 12
m Minute in hour Number 30
s Second in minute Number 55
S Millisecond Number 978
z Time zone General time zone Pacific Standard Time; PST; GMT-08:00
Z Time zone RFC 822 time zone -0800
X Time zone ISO 8601 time zone -08; -0800; -08:00

二、日期字符串转日期对象

 1 import java.text.DateFormat;
 2 import java.text.ParseException;
 3 import java.text.SimpleDateFormat;
 4 
 5 public class DateDemo {
 6 
 7     public static void main(String[] args) throws ParseException {
 8     String strDate="2019/12/30";
 9     
10     DateFormat dateFormat=DateFormat.getDateInstance();
11     
12     System.out.println(dateFormat.parse(strDate));
13     strDate="2019--11--30";
14     dateFormat=new SimpleDateFormat("yyyy--MM--dd");
15     System.out.println(dateFormat.parse(strDate));
16     }
17 }

 三、日期操作

Date不够国际化已被Calender取代了

 1 import java.text.ParseException;
 2 import java.util.Calendar;
 3 
 4 public class DateDemo {
 5 
 6     public static void main(String[] args) throws ParseException {
 7  9     //系统默认时间
10     Calendar c = Calendar.getInstance();
11     //指定时间
12     c.set(2019,2,1);//月是从零开始的
13     //时间偏移
14     c.add(Calendar.DAY_OF_MONTH, -1);
15     show(c);
16 
17     }
18 
19     private static void show(Calendar c) {
20     int year = c.get(Calendar.YEAR);
21     int month = c.get(Calendar.MONTH) + 1;
22     int day = c.get(Calendar.DAY_OF_MONTH);
23     int week = c.get(Calendar.DAY_OF_WEEK);
24     System.out.println(year + "/" + month + "/" + day+"  "+getWeek(week));
25     }
26     
27     private static String getWeek(int index) {
28     String[] week= {"","星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
29     return week[index];    
30     }
31 }
原文地址:https://www.cnblogs.com/WarBlog/p/12120192.html