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.条件控制语 ...
随机推荐
- 项目启动报错:Redis health check failed
最近是重新开发整个项目,在上线测试的时候发现这个问题. 项目环境:SpringBoot2.x+Consul+Redission+Maven 报错的信息如下: o.s.b.a.redis.RedisHe ...
- hdu1232 并查集总结
前言 在一些有N个元素的集合应用问题中,我们通常是在开始时让每个元素构成一个单元素的集合,然后按一定顺序将属于同一组的元素所在的集合合并,其间要反复查找一个元素在哪个集合中. 这一类问题其特点是看似并 ...
- Linux下Rsyslog日志远程集中式管理
Rsyslog简介 Rsyslog的全称是 rocket-fast system for log,它提供了高性能,高安全功能和模块化设计.rsyslog能够接受从各种各样的来源,将其输入,输出的结果到 ...
- 9.5、zabbix高级操作(1)
在zabbix-web中删除之前所有监控的主机: 1.zabbix自动发现配置: zabbix-server通过扫描指定范围的ip地址发现zabbix-agent并自动添加监控主机,适用于zabbix ...
- oracle sqlldr导入数据和导入去除空格
1.新建目录E:\load把需要导入的数据文件放到目录下面 这是我自己造的测试数据... 2.在文件下新建脚本文件 Load data infile 'E:\load\info.txt' into t ...
- TestComplete 64位和32位之间的区别
在64位系统上,有两种版本的TestComplete:32位和64位.本主题描述了TestComplete x64及其32位版本之间的区别.关于TestComplete x64启动TestComple ...
- scrapy-redis的搭建 分布式爬虫 去重
master:一.spider文件1.需要更改继承的类from scrapy_redis.spiders import RedisSpider 2.注释掉start_urls 3.在爬虫目录下新创建一 ...
- RabbitMQ入门教程 [转]
1.引言 RabbitMQ--Rabbit Message Queue的简写,但不能仅仅理解其为消息队列,消息代理更合适.消息队列主要解决应用耦合,异步消息,流量削锋等问题.实现高性能,高可用,可伸缩 ...
- DNS配置【正向解析】
DNS配置.正向解析 一.BIND域名服务基础 1)DNS的定义 2)域名结构 ...
- C:汉字存储
问题 C语言中汉字如何存储?梳理思路! 答案 在计算机中,一个英文字符占1个字节,汉字占两个字节,如果用char字符数组存储字符时,需要在最后面自动加上一个字节的结束符"\0" 汉 ...