三种日期工具

配合下面的案例可以更加深度的了解

Date

需要导包java.util.Date

Date d = new Date();

//两种都是获取到现在时间的时间戳
long t1 = d.getTime();//这里返回的是long类型的时间戳
long t2 = System.currentTimeMillis();//同样返回的是long类型的时间戳 Date d3 =new Date(t2);//将long类型转成Date

Calendar

需要导包java.util.Calendar

Calendar c = Calendar.getInstance();

c.set(2021, 5 - 1, 18);//这里返回的是Date

		int year = c.get(1);
System.out.println(year); int month = c.get(Calendar.MONTH) + 1;//0代表一月,以此类推应当加一
System.out.println(month); int day = c.get(Calendar.DAY_OF_MONTH);//当月中的第几天
System.out.println(day); int hh = c.get(Calendar.HOUR);//12小时
hh = c.get(Calendar.HOUR_OF_DAY);//24小时
System.out.println(hh); int mm = c.get(Calendar.MINUTE);
System.out.println(mm);
int ss = c.get(Calendar.SECOND);
System.out.println(ss);
int wk = c.get(Calendar.DAY_OF_WEEK);
//1 星期日 2 星期一 3星期二 4 星期三 5 星期四 6星期五 7星期六
//System.out.println(wk);

SimpleDateFormat

需要导包java.text.SimpleDateFormat

Date d = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//定义格式 System.out.println(sdf.format(d));//初始化date
System.out.println(d.getTime()); //返回一个时间戳 Date birth = sdf.parse("2001-7-20 0:0:0");定义一个时间点

三种综合案例

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class Date01 {
public static void main(String[] args) {
Date d = new Date(); //时间戳 long 数字
long t1 = d.getTime();
long t2 = System.currentTimeMillis(); //将long转成Date
Date d3 = new Date(t2); Calendar c = Calendar.getInstance(); c.set(2021, 5 - 1, 18); //将Calendar 日历类实例,转成Date
Date d2 = c.getTime();
SimpleDateFormat s = new SimpleDateFormat("yyyy年MM月dd日");
System.out.println(s.format(d));
System.out.println(s.format(d2));
}
}
public class Date02 {
public static void main(String[] args) throws ParseException {
//使用Date 导入并实例化,java.util.Date
Date d = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(sdf.format(d));
System.out.println(d.getTime()); //返回一个时间戳 long now = d.getTime() + (1000 * 60 * 60 * 24 * 10);
d.setTime(now);
System.out.println(sdf.format(d)); //计算两个日期之间相关的天数
Date birth = sdf.parse("2001-7-20 0:0:0");
//将字符串解析转换为Date
Date ddd = new Date(); long days = (ddd.getTime() - birth.getTime())/1000/60/60/24;
System.out.println(days);
}
}
public class Date03 {
public static void main(String[] args) throws ParseException {
Locale.setDefault(Locale.US);
Calendar c = Calendar.getInstance(); c.set(2021, 7 - 1, 27);
//year
int year = c.get(1);
System.out.println(year); int month = c.get(Calendar.MONTH) + 1;
System.out.println(month); int day = c.get(Calendar.DAY_OF_MONTH);
System.out.println(day); int hh = c.get(Calendar.HOUR);//12小时
hh = c.get(Calendar.HOUR_OF_DAY);//24小时
System.out.println(hh); int mm = c.get(Calendar.MINUTE);
System.out.println(mm);
int ss = c.get(Calendar.SECOND);
System.out.println(ss);
int wk = c.get(Calendar.DAY_OF_WEEK);
//1 星期日 2 星期一 3星期二 4 星期三 5 星期四 6星期五 7星期六
//System.out.println(wk);
if (wk == 1) {
System.out.println("今日是星期日");
} else if (wk == 2) {
System.out.println("今日是星期一");
} else if (wk == 3) {
System.out.println("今日是星期二");
} else if (wk == 4) {
System.out.println("今日是星期三");
} else if (wk == 5) {
System.out.println("今日是星期四");
} else if (wk == 6) {
System.out.println("今日是星期五");
} else {
System.out.println("今日是星期六");
} Locale.setDefault(Locale.CHINA);
System.out.printf("%tA%n",c); Date d = new Date();
//0 星期日 1 星期一 6 星期六
int ww = d.getDay();
System.out.println(ww);
}
}

Java的三种日期工具 Date Calendar SimpleDateFormat的更多相关文章

  1. Java开发笔记(三十九)日期工具Date

    Date是Java最早的日期工具,编程中经常通过它来获取系统的当前时间.当然使用Date也很简单,只要一个new关键字就能创建日期实例,就像以下代码示范的那样: // 创建一个新的日期实例,默认保存的 ...

  2. java Data、String、Long三种日期类型之间的相互转换

    java Data.String.Long三种日期类型之间的相互转换      // date类型转换为String类型   // formatType格式为yyyy-MM-dd HH:mm:ss// ...

  3. Java的三种代理模式

    Java的三种代理模式 1.代理模式 代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩 ...

  4. Java的三种代理模式简述

    本文着重讲述三种代理模式在java代码中如何写出,为保证文章的针对性,暂且不讨论底层实现原理,具体的原理将在下一篇博文中讲述. 代理模式是什么 代理模式是一种设计模式,简单说即是在不改变源码的情况下, ...

  5. 理解java的三种代理模式

    代理模式是什么 代理模式是一种设计模式,简单说即是在不改变源码的情况下,实现对目标对象的功能扩展. 比如有个歌手对象叫Singer,这个对象有一个唱歌方法叫sing(). 1 public class ...

  6. java 的三种代理

    java的三种代理模式   1.代理模式 代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作, ...

  7. Java的三种代理模式(Spring动态代理对象)

    Java的三种代理模式 1.代理模式 代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩 ...

  8. Java的三种代理模式&完整源码分析

    Java的三种代理模式&完整源码分析 参考资料: 博客园-Java的三种代理模式 简书-JDK动态代理-超详细源码分析 [博客园-WeakCache缓存的实现机制](https://www.c ...

  9. Java的三种循环:1、for循环 2、while循环 3、do...while循环

    Java的三种循环 Java三种循环结构: 1.for循环 2.while循环 3.do...while循环 循环结构组成部分:1.条件初始化语句,2.条件判断语句 , 3.循环体语句,4.条件控制语 ...

随机推荐

  1. 聊一聊Unity协程背后的实现原理

    Unity开发不可避免的要用到协程(Coroutine),协程同步代码做异步任务的特性使程序员摆脱了曾经异步操作加回调的编码方式,使代码逻辑更加连贯易读.然而在惊讶于协程的好用与神奇的同时,因为不清楚 ...

  2. SonarQube遇到的启动问题及解决方案

    操作系统:centos 7 (x86)一.问题描述:使用root启动时,一直反馈 SonarQube is not running问题原因:不能够使用root用户进行启动解决方案:①创建一个其他用户( ...

  3. 29、vi和vim用法详解

    vi类似于windows中的文本文件,用于普通的文本文件 vim:专家版的文件编辑器,用于shell程序型文件,带颜色,自检查语法 一般模式快捷键 O:光标到一行的首 $:光标到一行的尾 H:光标到整 ...

  4. 关于tinymce的一些记事

    之前能看的懂一部分英文,但是总是没有全局观,以至于我之前使用tinymce一直都有一些疑问:那就是为什么我在tinymce初始化中添加了比如字体,字体大小等设置按钮,但是为什么在前 台没有办法现实出来 ...

  5. 详细解释 使用FileReference类加载和保存本地文件

    一般而言,用户不希望web浏览器中运行的应用程序访问电脑硬盘里的文件.然而,随着基于浏览器(browser-based)的富因特网应用程序的增多,一些应用程序迫切需要访问用户所选择的文件,或者将文件保 ...

  6. MySQL忘记密码怎么办-MySQL修改密码(亲测可用)

    前言: 最近要用到本地的MySQL,结果把密码忘记了. ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using pas ...

  7. 资源:zookeeper下载地址

    提供zookeeper下载地址:https://archive.apache.org/dist/zookeeper/zookeeper-3.4.6/

  8. springboot 使用yml配置文件自定义属性

    springboot 中在application.yml文件里自定义属性值,配合@Value注解可以在代码中直接取到相应的值,如在application.yml中添加 mqtt: serverURI: ...

  9. <mvc:default-servlet-handler/>导致controller失效,报404错误

    最近在做ssm框架整合的一个小项目时,页面跳转一直有404错误,也没有报错提示.然后一步一步去找,终于发现是<mvc:default-servlet-handler/>的原因.如下图所示, ...

  10. FreeRTOS-00-基础知识+任务创建删除

    1 说明 本文仅作为学习FreeRTOS的记录文档,作为初学者肯定很多理解不对甚至错误的地方,望网友指正. 1.1 简介 FreeRTOS是一个RTOS(实时操作系统)系统,支持抢占式.合作式和时间片 ...