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日期和时间的更多相关文章

  1. Java 日期与时间

    章节 Java 基础 Java 简介 Java 环境搭建 Java 基本语法 Java 注释 Java 变量 Java 数据类型 Java 字符串 Java 类型转换 Java 运算符 Java 字符 ...

  2. [Java]Java日期及时间库插件 -- Joda Time.

    来到新公司工作也有一个多月了, 陆陆续续做了一些简单的项目. 今天做一个新东西的时候发现了 Joda Time的这个东西, 因为以前用的都是JDK原生的时间处理API, 大家都知道Java原生的时间处 ...

  3. java 日期与时间操作

    我们先来了解一下基本的概念 日期 2020-11-21 2020-11-22 时间 15:36:43 2020-11-21 15:36:43 时区 北京时间 2020-11-21 15:36:43 东 ...

  4. java日期和时间转换字符

    日期和时间转换字符 字符 描述 例子 c 完整的日期和时间 Mon May 04 09:51:52 CDT 2009 F ISO 8601 格式日期 2004-02-09 D U.S. 格式日期 (月 ...

  5. Java日期与时间的处理/Date,String,Calendar转换

    public class Demo01 { //Java中Date类和Calendar简介 public static void main(String[] args) { long now=Syst ...

  6. java日期和时间Date、Calendar、SimpleDateFormat

    1       时间和日期 1.1      日期类Date和格式化SimpleDateFormat 日期使用过程中需要将日期Date对象转化为字符串,或者将字符串形式的日期转化为日期Date对象.可 ...

  7. java 日期与时间类

    1.Date类:  https://www.cnblogs.com/huangminwen/p/5994927.html 2.DateFormat和SimpleDateFormat (simple简单 ...

  8. java 日期。时间

    友情链接: https://www.cnblogs.com/wanson/articles/10818955.html

  9. Java编程的逻辑 (32) - 剖析日期和时间

    本系列文章经补充和完善,已修订整理成书<Java编程的逻辑>,由机械工业出版社华章分社出版,于2018年1月上市热销,读者好评如潮!各大网店和书店有售,欢迎购买,京东自营链接:http:/ ...

随机推荐

  1. javascript中的this到底指什么?

    来自百度知道解释 JavaScript:this是什么? 定义:this是包含它的函数作为方法被调用时所属的对象.说明:这句话有点咬嘴,但一个多余的字也没有,定义非常准确,我们可以分3部分来理解它!1 ...

  2. JDBC编程示例

    package com.lovo.test; import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLE ...

  3. bzoj千题计划192:bzoj1569: [JSOI2008]Blue Mary的职员分配

    http://www.lydsy.com/JudgeOnline/problem.php?id=1569 dp[i][j][a][b] 表示i个职员,发广告状态为j,已有金钱a,声誉b的最少天数 j= ...

  4. 流媒体服务器之————EasyDarwin开源流媒体服务器:编译、配置、部署

    源码下载地址:https://github.com/EasyDarwin/EasyDarwin/archive/v7.0.5.zip 查看 Ubuntu 的版本号 sudo lsb_release - ...

  5. spark DataFrame 常见操作

    spark dataframe派生于RDD类,但是提供了非常强大的数据操作功能.当然主要对类SQL的支持. 在实际工作中会遇到这样的情况,主要是会进行两个数据集的筛选.合并,重新入库. 首先加载数据集 ...

  6. 用matplotlib制作的比较满意的蜡烛图

    用matplotlib制作的比较满意的蜡烛图 2D图形制作包, 功能强大, 习练了很久, 终于搞定了一个比较满意的脚本. 特点: 使用方面要非常简单 绘制出来的图要非常的满意, 具有如下的特点 时间和 ...

  7. MongoDB探索之路(三)——索引

    1.索引介绍 2.创建语句 1)基础索引 在字段age 上创建索引,1(升序);-1(降序):db.users.ensureIndex({age:1}) _id 是创建表的时候自动创建的索引,此索引是 ...

  8. Guava HashMultiMap(MultiMap)反转映射

    (一)MultiMap 多重map,一个key可以对应多个值(多个值放在一个list中),可用于分组 举例: Multimap<String, Integer> map = HashMul ...

  9. 上传插件dropzone.js实例

    dropzone.js默认是Ajax上传图片给服务器,那么如何获取到图片名呢?其实我们是可以通过dropzone的success函数获取到服务器返回的数据 dropzone.js在HTML的配置如下: ...

  10. AtomicInteger源码

    一.概念 AtomicInteger,一个提供原子操作的Integer的类.在Java语言中,++i和i++操作并不是线程安全的,在使用的时候,不可避免的会用到synchronized关键字.而Ato ...