c++ 不允许使用抽象类类型的对象_Java中日期API的使用总结

27bd203dfbfdf25ccd81776f45a33b6b.png

日期总结

1. Date类

1.1 Date date = new Date();

以当前的系统时间创建Date对象 (构造方法)

1.2 Date date = new Date( long millis );

以millis毫秒值所在的日期创建Date对象 (构造方法)

1.3 long millis = date.getTime();

获取Date对象的毫秒值

1.4 date.setTime( long millis );

设置毫秒值

2. SimpleDateFormat类

该类为抽象类DateFormat的子类

2.1 构造方法 :SimpleDateFormat df = new SimpleDateFormat ( String pattern );

用给定的模式和默认语言环境构造一个SimpleDateFormat对象, pattern是一个字符串, 代表日期时间的自定义格式

如 : "yyyy年MM月dd日 HH时mm分ss秒"

2.2 Date对象与String对象互相转化

2.2.1 Date对象--->String字符串

  • public String format (Date date )
public class SimpleDateFormatDemo {
    public static void main (String [] args){
        //从Date到String
        Date d = new Date();
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
        //调用.format(Date date)方法, 得到所需字符串
        String s = sdf.format(d);
        System.out.println(s)

            //思路总结: 把已知的Date对象转换为字符串, 就需要创建一个SimpleDateFormat对象, 并
            //指定日期显示格式, 随后, 只需调用SimpleDateFormat的format方法即可得到该字符串
    }
}

2.2.2 String字符串--->Date对象

  • public Date parse ( String source )
public class SimpleDateFormat {
    public static void main ( String [] args ) throws ParseException {
        //从String 到Date 
        String s = "2018-08-09 11:11:11";
        //ParseException
        SimpleDateFormat sdf = new SimpleDateFormat ("yyyy-MM-dd HH:mm:ss");
        //调用SimpleDateFormat的parse(String source)方法,得到Date对象

        System.out.println(sdf.format(sdf.pars(s));

            //思路总结: 把已知字符串类型时间转换为Date类型, 
            //需要创建一个格式一样的SimpleDateFormat类型对象
            //然后调用.parse(String source)方法即可得到Date类型的对象

            //类型转换可能失败,所以要用异常处理捕获异常.因此,也可以用try catch
        try{
            Date d = sdf.parse(s);
        }catch(ParseException e){
            System.out.println("转换失败");
        }
    }
}

3. Calendar类

Calendar是抽象类, 不能直接 创建对象

3.1 静态方法(获得日历对象)

  • public static Calendar getInstance (): 使用默认时区和语言环境获得一个日历

例如 :

Calendar cal = Calendar.getInstance();

3.2 get / set 方法

  • void set( int field , int value ): 给指定日历字段设置为value
  • int get( int field ): 返回给定日历字段的值
package drafts;

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

public class Calendar2 {
    public static void main(String[] args) {
        //创建Calendar对象(当前时间)
        Calendar c = Calendar.getInstance();
       //给c各个日历字段设置值
        c.set(Calendar.YEAR, 1996);
        c.set(Calendar.MONTH, 11);
        int hour = c.get(Calendar.HOUR);
        int year = c.get(Calendar.YEAR);

        //使用add方法修改给定日历字段的值,(+ 增 - 减)
        c.add(Calendar,YEAR, 2); --->就是把日历的年份加两年,-2 就是减两年
        //getTime方法,把Calendar类型的对象转换成Date类型
        Date d = c.getTime();
        System.out.println(d);
    }
}

3.3 add方法

  • public abstract void add ( int field, int amount ):
    根据日历规则为给定日历字段添减指定的时间量
什么叫根据日历规则: 如此时是2月最后一天, 加一天, 就会变成三月第一天

3.3 getTime方法

  • Date getTime( ):
    返回一个表示此Calendar时间值的Date对象

4. 注意事项

  1. 西方星期的开始为周日, 中国为周一
  2. 在Calendar类中, 月份表示的是以0-11月表示1-12月
  3. 日期有大小关系, 时间越靠后, 时间越大

4. System类

4.1 currentTimeMillis()

  • public static long currentTimeMillis(): 返回当前时间( 以毫秒为单位 )
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值