Java核心技术卷二——5.3日期和时间

文章原文:https://www.cnblogs.com/gu-bin/p/10022703.html

返回知识列表:


1,System.currentTimeMillis() 和 SystemClock.elapsedRealtime()的区别

System.currentTimeMillis()获取的是系统时间,是距离1970年1月1日开始计算的一个值;android.os.SystemClock.elapsedRealtime()获取从设备重启后经历的时间值。

System.currentTimeMillis()获取当前日期有意义,如当前是xxxx年xx月xx时xx分xx秒xxx毫秒,这个值在系统设置中可以更改的;

SystemClock.elapsedRealtime()计算某个时间经历了多长时间有意义,例如开机经历了多长时间,这个值是系统设置无关。

import java.util.Date;


new Date(System.currentTimeMillis() - SystemClock.elapsedRealtime());

那如上这个时间,表示的就是系统开机的时间。

 

2,Date() 类

 Date类对象的创建:

1、创建一个当前时间的Date对象

//创建一个代表系统当前日期的Date对象 

Date d = new Date();
看Date的构造函数,就知道。Date() 内部实际上是调用了System.currentTimeMillis()获取系统时间.


看第一个例子的时候,就应知道,Date() 还有一个构造函数 Date(long ), 参数是从1970 年到现在的毫秒数

2、创建一个我们指定的时间的Date对象:

使用带参数的构造方法Date(int year, int month, int day) ,可以构造指定日期的Date类对象,Date类中年份的参数应该是实际需要代表的年份减去1900,实际需要代表的月份减去1以后的值。

//创建一个代表2014年6月12号的Date对象

Date d1 = new Date(2014-1900, 6-1, 12); (注意参数的设置)

3、正确获得一个date对象所包含的信息

如:

    Date d2 =  new Date(2014-1900, 6-1, 12);

    //获得年份 (注意年份要加上1900,这样才是日期对象d2所代表的年份)
    int year = d2.getYear() + 1900;

    //获得月份  (注意月份要加1,这样才是日期对象d2所代表的月份)
    int month = d2.getMonth() + 1;

    //获得日期
    int date = d2.getDate();

    //获得小时
    int hour = d2.getHours();//不设置默认为0

    //获得分钟
    int minute = d2.getMinutes();

    //获得秒
    int second = d2.getSeconds();

    //获得星期 (注意:0代表星期日、1代表星期1、2代表星期2,其他的一次类推了)
    int day = d2.getDay();

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值