java关于时间

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

/**
 * Created by zay on 2016/12/9.
 */
public class TimeTest {
    public static void main(String[] args) {
        //(1)获取当前时间
        System.out.println(new Date());
        System.out.println(Calendar.getInstance());
        System.out.println(System.currentTimeMillis());
        /* 第一条输出 Fri Dec 09 00:28:05 CST 2016   */
        /* 第二条输出  java.util.GregorianCalendar[time=1481214485061,areFieldsSet=true,areAllFieldsSet=true,lenient=true,
        zone=sun.util.calendar.ZoneInfo[id="Asia/Shanghai",offset=28800000,dstSavings=0,
        useDaylight=false,transitions=19,lastRule=null],firstDayOfWeek=1,
        minimalDaysInFirstWeek=1,ERA=1,YEAR=2016,MONTH=11,WEEK_OF_YEAR=50,WEEK_OF_MONTH=2,DAY_OF_MONTH=9,
        DAY_OF_YEAR=344,DAY_OF_WEEK=6,DAY_OF_WEEK_IN_MONTH=2,AM_PM=0,HOUR=0,HOUR_OF_DAY=0,MINUTE=28,SECOND=5,
        MILLISECOND=61,ZONE_OFFSET=28800000,DST_OFFSET=0]   */
        /* 第三条输出了时间戳精确到了毫秒级 1481214485061   */

        //(2)时间格式化
        SimpleDateFormat simple = new SimpleDateFormat("yyyy-MM-dd");
        System.out.println(simple.format(new Date()));

        //(3)常见日期运算(根据日历的规则加减)
        Calendar calendar=Calendar.getInstance();  //使用默认时区和语言环境获得一个日历。
        calendar.add(Calendar.DATE,-2);  //得到当前日期的前10天的日期
        System.out.println(calendar.getTime());
        calendar.set(2016,12,9);  //设置日历字段 YEAR、MONTH 和 DAY_OF_MONTH 的值。


        //(4)date 、calendar 、时间戳字符串  三者转换
        //得到date类型
        Date date=calendar.getTime();   //calendar -> date
        //得到calendar的类型
        calendar.setTime(new Date());  //date -> calendar
        //得到时间戳字符串
        calendar.getTimeInMillis();   //date -> 时间戳字符串

    }
}
原文地址:https://www.cnblogs.com/20gg-com/p/6148062.html