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. Object.defineProperties()

    w https://docs.microsoft.com/en-us/scripting/javascript/reference/object-defineproperty-function-jav ...

  2. Django 之 序列化

    Django之序列化 关于Django中的序列化主要应用在将数据库中检索的数据返回给客户端用户,特别的Ajax请求一般返回的为Json格式. serializers 1 2 3 4 5 from dj ...

  3. ThreadLocal (二):什么时候使用 InheritableThreadLocal

    一.ThreadLocal 在父子线程传递的问题 public class InheritableThreadLocalDemo { // 全局变量 // static ThreadLocal< ...

  4. Linux中变量测试与内容替换

  5. wget: unable to resolve host address “http”

    [root@one ~]# wget www.baidu.com --2017-09-24 10:20:23-- http://www.baidu.com/ Resolving http... fai ...

  6. Python基础-os和sys模块

    os模块提供对操作系统进行调用的接口 import os os.getcwd() # 获取当前工作目录 os.chdir(r'd:\fansik') # 修改对当前工作目录 print(os.curd ...

  7. ssh 的用法

    一.什么是SSH? 简单说,SSH是一种网络协议,用于计算机之间的加密登录. 如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,我们就可以认为,这种登录是安全的,即使被中途截获,密码也不会 ...

  8. 剑指offer 面试59题

    面试59题: 题目:队列的最大值. 题目一:滑动窗口的最大值. 给定一个数组和滑动窗口的大小,请找出所有滑动窗口里的最大值.例如:如果输入数组为[2,3,4,2,6,2,5,1]及滑动窗口大小为3,那 ...

  9. 剑指offer 面试63题

    面试63题 题目:股票的最大利润 题:假设把某股票的价格按照时间先后顺序存储在数组中,请问买卖该股票一次可获得的最大利润是多少?例如,一只股票在某些时间节点的价格为{9,11,8,5,7,12,16, ...

  10. WebMvcRegistrationsAdapter

    27.1.1. Spring MVC自动配置 如果希望使用自定义的RequestMappingHandlerMapping,RequestMappingHandlerAdapter,或Exceptio ...