Java的三种日期工具 Date Calendar SimpleDateFormat
三种日期工具
配合下面的案例可以更加深度的了解
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的更多相关文章
- Java开发笔记(三十九)日期工具Date
Date是Java最早的日期工具,编程中经常通过它来获取系统的当前时间.当然使用Date也很简单,只要一个new关键字就能创建日期实例,就像以下代码示范的那样: // 创建一个新的日期实例,默认保存的 ...
- java Data、String、Long三种日期类型之间的相互转换
java Data.String.Long三种日期类型之间的相互转换 // date类型转换为String类型 // formatType格式为yyyy-MM-dd HH:mm:ss// ...
- Java的三种代理模式
Java的三种代理模式 1.代理模式 代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩 ...
- Java的三种代理模式简述
本文着重讲述三种代理模式在java代码中如何写出,为保证文章的针对性,暂且不讨论底层实现原理,具体的原理将在下一篇博文中讲述. 代理模式是什么 代理模式是一种设计模式,简单说即是在不改变源码的情况下, ...
- 理解java的三种代理模式
代理模式是什么 代理模式是一种设计模式,简单说即是在不改变源码的情况下,实现对目标对象的功能扩展. 比如有个歌手对象叫Singer,这个对象有一个唱歌方法叫sing(). 1 public class ...
- java 的三种代理
java的三种代理模式 1.代理模式 代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作, ...
- Java的三种代理模式(Spring动态代理对象)
Java的三种代理模式 1.代理模式 代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩 ...
- Java的三种代理模式&完整源码分析
Java的三种代理模式&完整源码分析 参考资料: 博客园-Java的三种代理模式 简书-JDK动态代理-超详细源码分析 [博客园-WeakCache缓存的实现机制](https://www.c ...
- Java的三种循环:1、for循环 2、while循环 3、do...while循环
Java的三种循环 Java三种循环结构: 1.for循环 2.while循环 3.do...while循环 循环结构组成部分:1.条件初始化语句,2.条件判断语句 , 3.循环体语句,4.条件控制语 ...
随机推荐
- 深度解读MRS IoTDB时序数据库的整体架构设计与实现
[本期推荐]华为云社区6月刊来了,新鲜出炉的Top10技术干货.重磅技术专题分享:还有毕业季闯关大挑战,华为云专家带你做好职业规划. 摘要:本文将会系统地为大家介绍MRS IoTDB的来龙去脉和功能特 ...
- js中有对象的key怎么获取对应的值
一般人的思路是这样的 var obj = {"name1":"张三","name2":"李四"}; var key = ...
- go语言结构体内存对齐
cpu要想从内存读取数据,需要通过地址总线,把地址传输给内存,内存准备好数据,输出到数据总线,交给cpu,如果地址总线只有8根,那这个地址就只有8位可以表示[0,255]256个地址,因为表示不了更多 ...
- Go语言十进制转二进制字符串
Go语言十进制转二进制字符串 代码Demo func Test_2(t *testing.T) { // 方法一 fmt.Println(DecToBin(5)) // 方法二:导入包"gi ...
- vue 快速入门 系列 —— vue loader 上
其他章节请看: vue 快速入门 系列 vue loader 上 通过前面"webpack 系列"的学习,我们知道如何用 webpack 实现一个不成熟的脚手架,比如提供开发环境和 ...
- 海康威视摄像头入侵+fofa(CVE-2017-7921)
海康威视摄像头入侵+fofa(CVE-2017-7921) By:Jesse 重保期间实在是太无聊,于是就找了个海康威视的摄像头日日玩,结果一玩就是一天呢哈哈哈. 1.漏洞编号 CVE-2017-79 ...
- springBoot-Quartz快速入门
springBoot-Quartz快速入门 开发环境 JDK1.8.Maven.Idea 技术栈 SpringBoot 2.1.6.quartz 2.3.0等 数据库准备 说明:数据库脚本由Quart ...
- centos安装配置和使用 Nexus
Nexus安装配置和使用 第一步安装jdk yum install java-1.8.0-openjdk-devel 第二步下载nexus-3.12.1-01-unix.tar.gzjdk 下载地址: ...
- uni-app中组件picker的基本使用(日期选择器为例)
例:需要在下图"自定义日期"中使用日期选择器 <template> <div> <picker mode="date" @chan ...
- php mkdir 创建多级目录以及修改权限
mkdir() 用法:mkdir($path,0777,true); 第一个参数:必须,代表要创建的多级目录的路径:第二个参数:设定目录的权限,默认是 0777,意味着最大可能的访问权:注意:mode ...