API_Date_calendar 对时间的操作

 1 import java.util.Date;
 2 
 3 /**
 4      * java.util.Date
 5      * Date的每一个实例用于表示一个时间点
 6      * Date内部维护一个long值,该值是UTC时间即:
 7      * 1970年1月1日零点整到该Date表示的时间之间所经过的毫秒
 8      * 由于Date 存在时区和千年虫的问题,所以大部分操作时间的方法都被声明过时
 9      * 操作时间交给Calendar类来完成
10      * @author Kenson
11      *
12      */
13 public class DataDemo {
14     public static void main(String[] args) {
15         /**
16          * 默认实例化出来的Date表示当前系统时间
17          */
18         Date now = new Date();
19         long time= now.getTime();
20         System.out.println(time);
21         /**
22          * 查看25 天以后的毫秒值
23             时刻记住: java中所有的默认数值计算是int型
24          */    
25          time +=25*1000*60*60*24L;
26          now.setTime(time);//
27         System.out.println(now);
28     }
29 }
/**
 * 将一个字符串解析成data
 * @author Kenson
 *
 */
public class SimpleDateFormat_parse {

    public static void main(String[] args) throws ParseException {
        String str ="2008-08-08 20:08:08";
        
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            
        /**
         * String -->Date
         * 将给定的字符串按照SimpleDateFormat指定的日期格式解析成为一个Data对象
         * 
         * SimpleDateFormat 字符串与日期互转的
         *     下面主要是两个方法: parse  和  format
         * 
         */
        Date date = sdf.parse(str);
        System.out.println(date);
                
    }
}
import java.text.SimpleDateFormat;
import java.util.Calendar;

/**
 * void add (int field,int value)
 *         对指定的时间分量加上给定的值,若给定的值是负数,则减去
 * @author Kenson
 *
 */
public class Calendar_add {
    public static void main(String[] args) {
        Calendar calendar =Calendar.getInstance();
        /**
         * 计算  三年俩个月零25天是几月几号
         */
        //加年
        calendar .add(Calendar.YEAR, 3);
        calendar.add(Calendar.MONTH, 2);
        calendar.add(Calendar.DAY_OF_YEAR, 25);
        System.out.println(calendar.getTime());
        //查找那一周里面的星期五
        calendar.set(Calendar.DAY_OF_WEEK, Calendar.FRIDAY);
        //查找当天的前一天
        calendar.add(Calendar.DAY_OF_YEAR, -1);
        
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        String date = sdf.format(calendar.getTime());
        System.out.println(date);
        System.out.println(calendar.getTime());
        
        /**
         * int getActualMaximum(int field)
         * 返回给定时间分量所允许的最大值
         * 参照日期为当前calendar所表示的日期
         */
        //查看当前月份的天数
        int days = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
        System.out.println(days);
        
    }
}
import java.util.Calendar;

/**
 * Calendar 提供了根据给定时间分量获取对应值得方法:
 * int get(int field)
 * 
 * 时间分量对应的就是Calendar提供的相应常量
 * @author Kenson
 *
 */
public class Calendar_get {
    public static void main(String[] args) {
        Calendar calendar = Calendar.getInstance();
        /**
         * 天 有不同的时间分量:
         *     DAY_OF_MOUTH: 月中的天,即:几号
         * DAY_OF_WEEK周中的天    即 星期几
         */
        int year = calendar.get(Calendar.YEAR);
        
        int mouth = calendar.get(Calendar.MONTH)+1;
        
        int day = calendar.get(Calendar.DATE);
                
        System.out.println(year+"-"+mouth+"-"+day);
        /**
         * 获取    时    分    秒
         */
        
        
        int hour= calendar.get(Calendar.HOUR_OF_DAY);
        
        int min = calendar.get(Calendar.MINUTE);
        
        int second = calendar.get(Calendar.SECOND);
        
        System.out.println(hour +":"+ min+ ":"+second);
    
        int day_Year = calendar.get(Calendar.DAY_OF_YEAR);
            System.out.println("今年是今天的第"+day_Year+"天");
        
            /*
             * 查看 今天是星期几  利用数组的下标进行赋值
             */
         int days = calendar.get(Calendar.DAY_OF_WEEK)-1;
            String[] datas ={"日","一","二","三","四","五","六"};
        
        System.out.println("今天是星期"+datas[days]);
        
        
    }
    
}
package com.Kenson.javase.next03;

import java.util.Calendar;
import java.util.Date;

/**
 * java.util.calendar
 * 
 * 日历类,是一个抽象类,定义了相关的常量以及日历相关操作
 * 日期的方法。
 * 通常实现类:GregorianCalendar  即 阳历
 * 
 * Calendar 提供了一个静态的方法: geinstance,该方法可以根据当前的系统所在地区获取一个适用的实现类
 * @author Kenson
 *
 */


public class Calendar_getInstance{
    public static void main(String[] args) {
        /**
         * 默认创建出来的也是表示当前系统时间
         */
        Calendar calendar = Calendar.getInstance();
        System.out.println(calendar);
        
        /**
         * Calendar 与Date进行互转
         * Calendar提供了方法:
         * Date getTime();
         */
        Date date = calendar.getTime();
        System.out.println(date);
        
        
        /**
         *使当前Calendar表示给定的Date所表示的日期 
         */
         calendar.setTime(date);
         
         /**
          * 通过Calendar获取当前时间是哪一年/那一日/星期几。。。
          */
         
         
    }
    
}
原文地址:https://www.cnblogs.com/Mr-Kenson/p/7256048.html