1.日期相关类
Date类: Java.util.Date类,不是java.sql.Date. 类 Date 表示特定的瞬间,精确到毫秒.
- import java.util.Date;
-
- public class DateDemo1 {
- public static void main(String[] args) {
- Date date = new Date();
- System.out.println(date.toString());
- System.out.println("中国人的风格:"+date.toLocaleString());
-
-
- long time = date.getTime();
- System.out.println(time);
-
-
- long timeMillis = System.currentTimeMillis();
- date = new Date(timeMillis);
- System.out.println(date.toLocaleString());
- }
- }
DateFormat/SimpleDateFormat类:
日期格式化操作:
------------------------------------------------------------------------------
DateFormat:可以完成日期的格式化操作.
格式化(format): Date类型对象------->String类型: String format(Date date)
解析(parse): String类型时间------>Date类型: Date parse(String source)
- import java.text.DateFormat;
- import java.util.Date;
-
- public class DateFormatDemo1 {
- public static void main(String[] args) {
-
- DateFormat dateInstance = DateFormat.getInstance();
- String formatDate = dateInstance.format(new Date());
- System.out.println(formatDate);
-
- dateInstance = DateFormat.getDateInstance();
- String formatDate2 = dateInstance.format(new Date());
- System.out.println(formatDate2);
-
- dateInstance = DateFormat.getDateTimeInstance(DateFormat.LONG,DateFormat.LONG);
- String formatDate3 = dateInstance.format(new Date());
- System.out.println(formatDate3);
- }
- }
--------------------------------------------------------------------------------
DateFormar转换的格式是固定的,我想根据自己的风格来做转换.
自定义格式,比如:2016-04-16 15:50:48
比如:2016/04/16 15:50:48
SimpleDateFormat类:是DateFormat的子类,支持自定义格式模式.(推荐使用这个)
转换格式的定义:比如 yyyy-MM-dd HH:mm:ss
转换方法:
- import java.text.ParseException;
- import java.text.SimpleDateFormat;
- import java.util.Date;
-
- public class SimpleDateFormatDemo {
-
- private static final String pattern = "yyyy-MM-dd HH:mm:ss";
-
- public static void main(String[] args) throws ParseException {
-
- SimpleDateFormat dateFormat = new SimpleDateFormat(pattern);
-
- String formatDate = dateFormat.format(new Date());
- System.out.println(formatDate);
-
- Date parseDate = dateFormat.parse(formatDate);
- System.out.println(parseDate);
- }
- }
定义一个日期转换的util
- import java.text.ParseException;
- import java.text.SimpleDateFormat;
- import java.util.Date;
-
- public class DateUtil {
-
- public static final String DEFAULT_DATE_PATTERN="yyyy-MM-dd HH:mm:ss";
- private DateUtil() {}
-
-
-
-
-
-
-
- public static String date2String(Date date,String pattern){
- SimpleDateFormat dateFormat = new SimpleDateFormat();
- if (!hasLength(pattern)) {
- pattern=DEFAULT_DATE_PATTERN;
- }
- dateFormat.applyPattern(pattern);
- return dateFormat.format(date);
-
- }
-
-
-
-
-
-
- public static String date2String(Date date){
- return date2String(date, null);
- }
-
-
-
-
-
-
-
-
- public static Date string2date(String date,String pattern) throws ParseException{
- SimpleDateFormat dateFormat = new SimpleDateFormat();
- if (!hasLength(pattern)) {
- pattern=DEFAULT_DATE_PATTERN;
- }
- dateFormat.applyPattern(pattern);
- return dateFormat.parse(date);
- }
-
-
-
-
-
-
- public static Date string2date(String date) throws ParseException{
- return string2date(date, null);
- }
-
-
-
-
-
-
- private static boolean hasLength(String str) {
- return str != null && !"".equals(str.trim());
- }
-
- }
测试:
- import java.text.ParseException;
- import java.util.Date;
-
- public class TestDemo {
-
- public static void main(String[] args) throws ParseException {
-
- String stringDate1 = DateUtil.date2String(new Date(), "yyyy/MM/dd HH:mm:ss");
- System.out.println(stringDate1);
- String stringDate2 = DateUtil.date2String(new Date());
- System.out.println(stringDate2);
-
- Date date1 = DateUtil.string2date(stringDate1,"yyyy/MM/dd HH:mm:ss");
- System.out.println(date1);
- Date date2 = DateUtil.string2date(stringDate2);
- System.out.println(date2);
- }
- }
Calendar类:
Java8中重新为日期定义了新的API.
-------------------------------------------------------------
Date类中的大量方法都已经过时了,过时不代表不存在,依然可以使用,只不过不建议使用,官方建议我们使用Calendar类.
日历类(Calendar):是抽象类,表示日历,比Date更强大.
创建日历对象:
Calendar c = Calendar.getInstance();
int get(int field) 返回给定日历字段(年,月,日,时,分,秒)的值。
查询最近一周.......的信息,如何表示最近这一周.
beginTime:
endTime: 当前系统时间的晚上凌晨之前.