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. Xamarin.Forms学习之Page Navigation(一)

    在最初接触Xamarin.Forms的时候,我是跟着Xamarin官方的名为“learning-xamarin-ebook”的pdf文档进行学习的,我在成功运行Hello world程序之后,我开始跟 ...

  2. coursera 《现代操作系统》 -- 第十一周 IO系统

    本周要求 错题 下列I/O控制方式中,哪一个不需要硬件支持? 中断方式 轮询方式 DMA方式 I/O处理机方式 中断方式:中断控制器 轮询方式:CPU不断查询设备以了解其是否就绪 DMA:使用到了   ...

  3. do not use numbers as enumeration values

    w 字段类型设置错误 有限元的判断,勿用枚举行. MySQL :: MySQL 5.7 Reference Manual :: 12.4.4 The ENUM Typehttps://dev.mysq ...

  4. AGS Server 10.1 切图工具

    在AGS Sever中很重要的功能就是地图缓存的制作,安装AGS Sever会在catalog中增加相关的工具箱,利用这些工具可以制作.删除.更新切片 一.Convert map server cac ...

  5. pc端监听屏幕实现导航固定定位

    要点:占位符 js,监听屏幕滚动事件,当滚动条距离浏览器顶部的距离 大于 要固定定位开始以下元素的距离,则给要固定元素添加fixed样式. 初始化方法时,要给占位符添加样式 function sort ...

  6. k8s 常用命令

    [root@master ~]# kubectl get nodes NAME STATUS ROLES AGE VERSION master Ready master 1h v1.8.1 node1 ...

  7. SpringBoot连接PostgreSQL

    这个 org.postgresql.jdbc.PgConnection.createClob() 方法尚未被实作 application.properties spring.datasource.pl ...

  8. 2015.7.8(千股跌停!做T不应当只做中色,中国软件)

    2015.7.81.今天开盘所有的股票全部跌停,真是一大奇观! 今天中色股份和以往不同买卖盘为正! 但是中色的爬升比较慢,价位始终没有高过昨天的收盘价————这种情况下是否应该做T呢? 2.做T不应当 ...

  9. JavaWeb:Tomcat服务器的安装与配置

    Tomcat服务器的安装与配置 安装 输入网址进入Tomcat的官网            在左边导航栏选择对应下载的版本            下载安装包形式            下载并解压到我们 ...

  10. Nginx负载均衡案例

    nginx负载均衡配置,windows版本和linux版本的nginx除了启动方式其他基本无差异. 1.Niginx安装 参考:https://www.cnblogs.com/zwcry/p/9454 ...