Java日期和时间
Java 日期和时间
学习自
http://blog.csdn.net/zjf280441589/article/details/50447533
Date类
Date 类是在JDK 1.0 的时候提供的,到现在可以说是历史非常悠久了,其中有很多方法都已经弃用。
构造函数
//这样new出来的代表的是当前的时间
Date date = new Date();
//1970-1-1 00:00:00以来经过的毫秒数)来生成Date对象.
Date date = new Date(long date);
常用方法
/**
* 获取当前的系统时间
*/
private void getSystemTime() {
Date date = new Date(1000);
DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String time = format.format(date);
System.out.println(time);
}
/**
* 判断date是否在一个date之后
*/
private void after() {
Date date = new Date();
Date checkDate = new Date(System.currentTimeMillis() + 1000);
System.out.println(date.after(checkDate));
}
/**
* 判断date是否在一个date之前
*/
private void before() {
Date date = new Date();
Date checkDate = new Date(System.currentTimeMillis() + 1000);
System.out.println(date.before(checkDate));
}
Calendar
因为Calendar有很多的缺陷,并且也比较老旧,JDK又提供了java.util.Calendar
类,Calendar类是一个抽象类,没有具体实现,他是一个所有日历的模板。
获取Calendar实例
//获取公历日历
Calendar calendar = Calendar.getInstance();
常用方法
//可以进行时间的加减
calendar.add(Calendar.DAY_OF_YEAR, 1);
//获取不同的时间的值
int dayOfYear = calendar.get(Calendar.DAY_OF_YEAR);
将字符串转化为时间
/**
* 將字符串转化为时间
*/
private void convertStringToDate() {
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//被转换的时间的格式必须要与DateFormat解析的时间格式相同
String strDate = "2018-9-19 08:11:11";
try {
Date date = dateFormat.parse(strDate);
String value = dateFormat.format(date);
System.out.println(value);
} catch (ParseException e) {
e.printStackTrace();
}
}
计算两个时间之间的差值
通过获取总的毫秒数,然后进行换算
/**
* 计算两个时间之间的差值
*/
private void getTimeSpan() {
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
Date dateFirst = dateFormat.parse("2018-10-11 09:11:11");
Date dateSecond = dateFormat.parse("2018-10-10 07:11:10");
long diff = dateSecond.getTime() - dateFirst.getTime();
diff = diff / 1000;
//
long second = diff % 60;
long minute = diff % 3600 / 60;
long hour = diff % (3600 * 24) / 3600;
long day = diff / (3600 * 24);
String value =
String.format("%S 与 %S 之间相差了 %d days %d hours %d minutes %d second",
dateFormat.format(dateSecond),
dateFormat.format(dateFirst),
day, hour,
minute,
second);
System.out.println(value);
//2018-10-10 07:11:10 与 2018-10-11 09:11:11 之间相差了 -1 days -2 hours 0 minutes -1 second
} catch (Exception e) {
e.printStackTrace();
}
}
Java日期和时间的更多相关文章
- Java 日期与时间
章节 Java 基础 Java 简介 Java 环境搭建 Java 基本语法 Java 注释 Java 变量 Java 数据类型 Java 字符串 Java 类型转换 Java 运算符 Java 字符 ...
- [Java]Java日期及时间库插件 -- Joda Time.
来到新公司工作也有一个多月了, 陆陆续续做了一些简单的项目. 今天做一个新东西的时候发现了 Joda Time的这个东西, 因为以前用的都是JDK原生的时间处理API, 大家都知道Java原生的时间处 ...
- java 日期与时间操作
我们先来了解一下基本的概念 日期 2020-11-21 2020-11-22 时间 15:36:43 2020-11-21 15:36:43 时区 北京时间 2020-11-21 15:36:43 东 ...
- java日期和时间转换字符
日期和时间转换字符 字符 描述 例子 c 完整的日期和时间 Mon May 04 09:51:52 CDT 2009 F ISO 8601 格式日期 2004-02-09 D U.S. 格式日期 (月 ...
- Java日期与时间的处理/Date,String,Calendar转换
public class Demo01 { //Java中Date类和Calendar简介 public static void main(String[] args) { long now=Syst ...
- java日期和时间Date、Calendar、SimpleDateFormat
1 时间和日期 1.1 日期类Date和格式化SimpleDateFormat 日期使用过程中需要将日期Date对象转化为字符串,或者将字符串形式的日期转化为日期Date对象.可 ...
- java 日期与时间类
1.Date类: https://www.cnblogs.com/huangminwen/p/5994927.html 2.DateFormat和SimpleDateFormat (simple简单 ...
- java 日期。时间
友情链接: https://www.cnblogs.com/wanson/articles/10818955.html
- Java编程的逻辑 (32) - 剖析日期和时间
本系列文章经补充和完善,已修订整理成书<Java编程的逻辑>,由机械工业出版社华章分社出版,于2018年1月上市热销,读者好评如潮!各大网店和书店有售,欢迎购买,京东自营链接:http:/ ...
随机推荐
- git开发部署流程
git的分支操作 https://blog.csdn.net/QH_JAVA/article/details/77853605 Git 开发部署流程 采用业界成熟方案 Git Flow 分支方式进行开 ...
- CentOS6.7定制化制作ISO
CentOS6.7定制化制作ISO 以CentOS 6.7-minimal为例. 欢迎大家转载,并保留原文出处.内容若有错误或补充,请联系:szyzln@126.com 本文主要讲解如何在已有官方Ce ...
- Scala进阶之路-高级数据类型之数组的使用
Scala进阶之路-高级数据类型之数组的使用 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.数组的初始化方式 1>.长度不可变数组Array 注意:顾名思义,长度不可变数 ...
- Hadoop源码阅读-HDFS-day1
HDFS声明及构造函数 @InterfaceAudience.Private @InterfaceStability.Evolving public class Hdfs extends Abstra ...
- ThinkPHP框架学习(二)
在上一节中,我主要讲到了如何获取ThinkPHP框架,以及虚拟目录和虚拟主机的配置.准备工作完成之后,就可以利用ThinkPHP去部署项目了. 先在工作目录(D:/zend/workspace)下新建 ...
- 如何使用 grunt
1>. 首先要有nodejs环境, 至少0.8.0版本: 2>. 转到 项目文件夹下: >npm install –g grunt-cli >npm init #生成一个基本的 ...
- Angular 下的 directive (part 1)
directive 指令 Directive components 指令部分 使用指令自动引导一个AngularJS应用.ngApp指令指定应用程序的根元素,通常是放在页面的根元素如: < ...
- 五个案例让你明白GCD死锁(转)
转自:http://ios.jobbole.com/82622/ 死锁一直都是在使用多线程时,需要注意的一个问题.以前对同步.异步,串行.并行只有一个模糊的概念,想想也是时候整理一下了.再看看之前的博 ...
- unbind()清除指定元素绑定效果
定义和用法 unbind() 方法移除被选元素的事件处理程序. 该方法能够移除所有的或被选的事件处理程序,或者当事件发生时终止指定函数的运行. ubind() 适用于任何通过 jQuery 附加的事件 ...
- 用原生js对表格排序
阿里的模拟笔试题,当时时间有限没写出来,其实是因为自己对原生dom操作不熟悉,这里补一下. 题目的大意是有一个表格,如代码所示 <table> <tr> <th>N ...