java之Date

1、java时间处理

package com.bmkit.util.date;

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

/**
 * Created by root on 16-5-23.
 */
public class TestDate {

    /**
     * format time
     */
    private static void formatTime() {
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
        Date date = new Date();
        System.out.println(dateFormat.format(date));
    }

    /**
     * format time
     */
    private static void formatTime1(Date date) {
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
        System.out.println(dateFormat.format(date));
    }

    /**
     * parse string date to date
     */
    private static void parseStringToDate() {
        String sDate = "2016-05-23 03:07:32";
        String sDate1 = "2016-05-23";
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        SimpleDateFormat dateFormat1 = new SimpleDateFormat("yyyy-MM-dd");
        Date date = null;
        Date date1 = null;

        try {
            date = dateFormat.parse(sDate);
            date1 = dateFormat1.parse(sDate1);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        formatTime1(date);
        formatTime1(date1);

        System.out.println(campareDate(date, date1));
    }

    /**
     * compare date return -1,0,1
     */
    private static int campareDate(Date date1, Date date2) {
        return date1.compareTo(date2);
    }

    /**
     * get time stamp System.currentTimeMillis() 这种方式速度最快,Calendar.getInstance().getTimeInMillis()
     */
    private static void getTimeStamp() {
        //方法 一
        System.out.println(System.currentTimeMillis());
        //方法 二
        System.out.println(Calendar.getInstance().getTimeInMillis());
        //方法 三
        System.out.println(new Date().getTime());
    }

    public static void getTimeByDate() {
        Date date = new Date();
        DateFormat df1 = DateFormat.getDateInstance();//日期格式,精确到日
        System.out.println(df1.format(date));
        DateFormat df2 = DateFormat.getDateTimeInstance();//可以精确到时分秒
        System.out.println(df2.format(date));
        DateFormat df3 = DateFormat.getTimeInstance();//只显示出时分秒
        System.out.println(df3.format(date));
        DateFormat df4 = DateFormat.getDateTimeInstance(DateFormat.FULL, DateFormat.FULL); //显示日期,周,上下午,时间(精确到秒)
        System.out.println(df4.format(date));
        DateFormat df5 = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG); //显示日期,上下午,时间(精确到秒)
        System.out.println(df5.format(date));
        DateFormat df6 = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT); //显示日期,上下午,时间(精确到分)
        System.out.println(df6.format(date));
        DateFormat df7 = DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.MEDIUM); //显示日期,时间(精确到分)
        System.out.println(df7.format(date));
    }

    public static void getTimeByCalendar() {
        Calendar cal = Calendar.getInstance();
        int year = cal.get(Calendar.YEAR);//获取年份
        int month = cal.get(Calendar.MONTH);//获取月份
        int day = cal.get(Calendar.DATE);//获取日
        int hour = cal.get(Calendar.HOUR);//小时
        int minute = cal.get(Calendar.MINUTE);//
        int second = cal.get(Calendar.SECOND);//
        int WeekOfYear = cal.get(Calendar.DAY_OF_WEEK);//一周的第几天
        System.out.println("现在的时间是:公元" + year + "年" + (month + 1) + "月" + day + "日      " + hour + "时" + minute + "分" + second + "秒       星期" + WeekOfYear);
    }

    public static void main(String[] arg) {
        //formatTime();
        //parseStringToDate();
        getTimeStamp();
        //getTimeByDate();
        //getTimeByCalendar();
    }
}

2、SimpleDateFormat函数语法:
         G 年代标志符
         y 年
         M 月
         d 日
         h 时 在上午或下午 (1~12)
         H 时 在一天中 (0~23)
         m 分
         s 秒
         S 毫秒
         E 星期
         D 一年中的第几天
         F 一月中第几个星期几
         w 一年中第几个星期
         W 一月中第几个星期
         a 上午 / 下午 标记符
         k 时 在一天中 (1~24)
         K 时 在上午或下午 (0~11)
         z 时区
常见标准的写法"yyyy-MM-dd HH:mm:ss",注意大小写,时间是24小时制,24小时制转换成12小时制只需将HH改成hh,不需要另外的函数。

原文地址:https://www.cnblogs.com/sunjf/p/java_date.html