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.条件控制语 ...
随机推荐
- 将Winform和wpf的界面转换为CPF代码用来实现跨平台
CPF的设计器里带界面代码转换功能,将运行中的Winform或者wpf的程序界面转换为cpf代码,主要转换控件类型和布局,默认支持的是常用的原生控件.不支持Netcore,只支持.Netframewo ...
- C++知识点大汇总
概述 1.1980年 贝尔实验室 Bjanre Stroustrup(比雅尼·斯特劳斯特鲁普)对C改进与扩充 最初称为"带类的C",(c with classes). 1983年正 ...
- C#调百度通用翻译API翻译HALCON的示例描述
目录 准备工作 参数简介 输入参数 输出参数 使用HttpClient 翻译工具类 应用:翻译HALCON的示例描述 准备工作 HALCON示例程序的描述部分一直是英文的,看起来很不方便.我决定汉化一 ...
- 『心善渊』Selenium3.0基础 — 8、使用CSS选择器定位元素
目录 1.CSS选择器介绍 2.CSS选择器定位语法 3.Selenium中使用CSS选择器定位元素 (1)通过属性定位元素 (2)通过标签定位元素 (3)通过层级关系定位元素 (4)通过索引定位元素 ...
- C++中运算符的重载
运算符重载相当于运算符的函数重载,用于对已有的运算符进行重新定义,赋予其另一种功能,以适应不同的数据类型.我们之前提到过C++中的函数重载,可以根据形参的不同调用不同的函数,那么运算符重载跟函数重载的 ...
- 第2章:Kubernetes核心概念
Kubernetes是Google在2014年开源的一个容器集群管理系统,Kubernetes简称K8S. Kubernetes用于容器化应用程序的部署,扩展和管理,目标是让部署容器化应用简单高效. ...
- 24、Keepalived高可用介绍
24.1.什么是keepalived: Keepalived 软件起初是专为 LVS 负载均衡软件设计的,用来管理并监控 LVS 集群系统中各个服务节点的状态,后来又加入了可以实现高可用的 VRRP ...
- Series 1 java秒组合数
Series 1 举几个例子发现, 系数中间对称,很容易想到组合数 c(n,m)==c[n,n-m).此题就是高精度求组合数,java秒之. time:1825ms ,接近时限,如果n还稍微大一 ...
- SQL反模式读书笔记思维导图
在写SQL过程以及设计数据表的过程中,我们经常会走一些弯路,会做一些错误的设计.<SQL反模式>这本书针对这些经常容易出错的设计模式进行分析,解释了错误的理由.允许错误的场景,并给出更好的 ...
- hadoop操作hdfs错误
本文转自:http://www.aboutyun.com/blog-61-22.html 当我们对hdfs操作的时候,我们可能会碰到如下错误 错误1:权限问题 Exception in thread ...