Date与Calendar类

Date类和Calendar类属于java.util包。

Date类

1.使用无参数构造方法

使用Date类的无参构造方法创建的对象可以获取本机的当前日期和时间,例如:

Date nowTime = new Date();

2.使用带参数的构造方法

计算机系统将其自身的时间的“公元”设置在1970年1月1日0时(格林威治时间),方法使用情况如下所示:

Date date = new Date(1000);

本地时区是北京时区,“公元”时间是,1970年01月01日08时00分00秒,而上述的date就是1970年01月01日08时00分01秒。

使用System类的静态方法public long currentTimeMillis()获取系统当前时间距离“公元”时间过去的毫秒数。

Calendar类

使用Calendar类的static方法getInstance()可以初始化一个日历对象,如:

Calendar calendar = Calendar.getInstance();

Calendar对象可以调用方法:

public final void set(int year, int month, int date);

public final void set(int year, int month, int date, int hour, int minute);

public final void set(int year, int month, int date, int hour, int minute, int second);

将日历设置在任何一个时间,如:
calendar.set(2014, 5, 25);

就是将日历时间设置在2014年6月25日。

Calendar对象调用方法public int get(int field)可以获取有关年份、月份、小时、星期等信息,参数field的有效值由Calendar的静态常量指定,例如:

calendar.get(Calendar.MONTH);

返回一个整数,如果该整数是0表示当前日历是在1月。

calendar.get(Calendar.DAY_OF_WEEK);

返回一个整数,如果该整数是1表示星期日,7表示星期六。

public long getTimeInMillis()方法获取距离设置的时间的毫秒数。

代码展示如下所示:

public class Test10 {

    public static void main(String[] args) {
// TODO Auto-generated method stub
Date nowTime = new Date();
System.out.println(nowTime);
Calendar calendar = Calendar.getInstance();
calendar.setTime(new Date());
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH) + 1;
int day = calendar.get(Calendar.DAY_OF_MONTH);
int hour = calendar.get(Calendar.HOUR_OF_DAY);
int minute = calendar.get(Calendar.MINUTE);
int second = calendar.get(Calendar.SECOND);
System.out.print("现在的时间是: ");
System.out.print(year + "年" + month + "月" + day + "日");
System.out.println(hour + "时" + minute + "分" + second + "秒");
calendar.set(2014, 5, 25);
long time1 = calendar.getTimeInMillis();
calendar.set(2018, 6, 6);
long time2 = calendar.getTimeInMillis();
long subDay = (time2 - time1 ) / (24 * 60 * 60 * 1000);
System.out.println("到现在为止已经经过了" + subDay + "天"); } }

运行结果如下所示:

review13的更多相关文章

  1. Ubuntu软件的安装和使用

    windows 系统有很多的截图的软件 比如 QQ 浏览器什么的,但是ubuntu 还是很少的截图软件的接下来介绍一下ubuntu 的截图软件 1.键盘上的alt+printscreen 可以全屏幕的 ...

随机推荐

  1. MySQL中的索引提示Index Hint

    MySQL数据库支持索引提示(INDEX HINT)显式的高速优化器使用了哪个索引.以下是可能需要用到INDEX HINT的情况 a)MySQL数据库的优化器错误的选择了某个索引,导致SQL运行很慢. ...

  2. 我的Android进阶之旅------>百度地图学习:BDLocation.getLocType ( )值分析

    BDLocation类,封装了定位SDK的定位结果,在BDLocationListener的onReceive方法中获取.通过该类用户可以获取error code,位置的坐标,精度半径等信息.具体方法 ...

  3. 小程序 欢迎页面 navigateTo和tabBar不能同时指向一个路径

    小程序navigateTo和tabBar不能同时指向一个路径 wx.navigateTo和wx.redirectTo不允许跳转到tabBar页面,只能用wx.switchTab跳转到tabBar页面. ...

  4. ubuntu常见错误--Could not get lock /var/lib/dpkg/lock解决(转)

    通过终端安装程序sudo apt-get install xxx时出错: E: Could not get lock /var/lib/dpkg/lock - open (11: Resource t ...

  5. HTTP1.1中CHUNKED编码解析

    一般HTTP通信时,会使用Content-Length头信息性来通知用户代理(通常意义上是浏览器)服务器发送的文档内容长度,该头信息定义于HTTP1.0协议RFC  1945  10.4章节中.浏览器 ...

  6. Python进阶(1)_Socket网络编程(基于tcp的socket)

    网络协议参考:http://www.cnblogs.com/hedeyong/p/6889774.html 一.TCP/IP五层模型 学习socket一定要先学习互联网协议: 1.首先:本节课程的目标 ...

  7. a各种状态

    hover   设置对象在其鼠标悬停时的样式表属性 active  设置对象在被用户激活(在鼠标点击与释放之间发生的事件)时的样式表属性.link  设置a对象在未被访问前的样式表属性.visited ...

  8. 我的npm笔记

    本文记录一些npm的使用技巧,主要包括自己常用的命令,做个备忘. NPM 是什么? NPM是NodeJS的包管理工具,现在已经进一步发展,致力于为很多其他平台提供包管理工具,其核心思想就是让包的安装更 ...

  9. 十位用户唯一ID生成策略

    新浪微博和twitter 等系统都有一窜数字ID来标示一个唯一的用户,这篇文章就是记录如何实现这种唯一数字ID 原理:使用MYSQL 自增ID 拼接任意字符..然后使用进制转换打乱规则 一般来说实现唯 ...

  10. qq 微信 微博 第三方分享

    <html> <head> <meta charset="utf-8"> <meta name="viewport" ...