笔记总结:

/**与时间相关的类:System_Date_SimpleDateFormat_Calendar类
* 1.system 类下的currentTimeMillis()
* 输出从1970年至今的时间的毫秒数, 运行两次即可用于统计时间间隔!
* 2.Date() 类:java.util.Date : toString()/getTime()--返回long型64位整数 ;
* 以及他的子类java.sql.Date
* 3.SimpleDateFormat 类:(国际化)
* 格式化: ①构造器: SimpleDateFormat() / SimpleDateFormat(String pattern) :常用pattern:"G yyyy:MM:dd 'at' HH:mm:ss "
* ② String str=sdf.format(new Date()) : 利用sdf format一个Date()对象,格式化为字符串输出即可!
* 解析:
* ① 利用parse进行转换, Date date1=sdf.parse("18-10-20 上午10:55");
* ② 直接输出Date().toString() 显示Date() 的标准时间!
* 4.Calendar 类:
* ① Calendar c=Calendar.getInstance(); //实现Calendar的引用,因为它没有构造器
* ②get(field) / set(field,number) /add(field,number): number可以表示为正负数
* ③DAte getTime() /setTime()(Date d)
*/

测试代码:

public class TestDate {

    @Test//1.Date类
public void test1(){
Date d1=new Date();
System.out.println(d1.toString());
System.out.println(d1.getTime());long x=d1.getTime();
Date d2=new Date(x);
System.out.println(d2);
}
@Test //2.SimpleDateFormat
public void test2() throws Exception{
//1.格式化1,Date类型转String
SimpleDateFormat sdf=new SimpleDateFormat();
String str=sdf.format(new Date());
System.out.println(str); //18-10-20 上午10:55
//2.格式化2
SimpleDateFormat sdf1=new SimpleDateFormat("yyyy-MM-dd 'at' HH:mm:ss");
str=sdf1.format(new Date());
System.out.println(str); //2018:10:20 at 11:10:53
//3.解析 ,字符串转 Date类型
Date date1=sdf.parse("18-10-20 上午10:55");
System.out.println(date1); //Sat Oct 20 10:55:00 CST 2018 Date date2=sdf1.parse("2018-10-20 at 10:55:32");
System.out.println(date2);
}
@Test //3.Calendar() get
public void test4(){
Calendar c=Calendar.getInstance(); //实现Calendar的引用 System.out.println("今天是本月的第几天? "+c.get(Calendar.DAY_OF_MONTH));
System.out.println("今天的星期几: "+(c.get(Calendar.DAY_OF_WEEK)-1) );
//打印当前时分秒
int h=c.get(Calendar.HOUR_OF_DAY); //不要用Calendar.HOUR,不然12点就成了0点
int m=c.get(Calendar.MINUTE);
int s=c.get(Calendar.SECOND);
System.out.println("当前Calendar的 时分秒: "+h+":"+m+":"+s); c.set(Calendar.DAY_OF_MONTH,23);
Date d=c.getTime();
System.out.println("更新后的Date时间: "+d);
}
}

输出结果:

Sat Oct 20 13:13:33 CST 2018
1540012413382
Sat Oct 20 13:13:33 CST 2018
18-10-20 下午1:13
2018-10-20 at 13:13:33
Sat Oct 20 10:55:00 CST 2018
Sat Oct 20 10:55:32 CST 2018
今天是本月的第几天? 20
今天的星期几: 6
当前Calendar的 时分秒: 13:13:33
更新后的Date时间: Tue Oct 23 13:13:33 CST 2018

 后续补上-解决后缀.000Z 的时区问题

测试代码:

@Test
public void test01() throws ParseException {
//方法一: 暴利删除后续字符
String s=new String("2019-01-31T16:00:00.00");
int pos=s.lastIndexOf(".");
if(pos!=-1){
s=s.substring(0,pos);
System.out.println(s);
}
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
System.out.println(sdf.parse(s)+"\n");
    //进行时区的转换
String date = "2016-08-15T16:00:00.000Z";
date = date.replace("Z", " UTC");
System.out.println(date);
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS Z");
Date d = format.parse(date);
System.out.println(d);
}

输出结果:

2019-01-31T16:00:00
Thu Jan 31 16:00:00 CST 2019 2016-08-15T16:00:00.000 UTC
Tue Aug 16 00:00:00 CST 2016

参考博客:

https://blog.csdn.net/m0_37983376/article/details/78202770    解决后缀.000Z 的时区问题

https://www.cnblogs.com/myseries/p/7589408.html    java Date时间的各种转换方式和Mysql存时间类型字段的分析

Java基础 与时间日期相关的类:System -Date -SimpleDateFormat -Calendar类 -解决后缀.000Z 的时区问题的更多相关文章

  1. Java基础进阶:时间类要点摘要,时间Date类实现格式化与解析源码实现详解,LocalDateTime时间类格式化与解析源码实现详解,Period,Duration获取时间间隔与源码实现,程序异常解析与处理方式

    要点摘要 课堂笔记 日期相关 JDK7 日期类-Date 概述 表示一个时间点对象,这个时间点是以1970年1月1日为参考点; 作用 可以通过该类的对象,表示一个时间,并面向对象操作时间; 构造方法 ...

  2. Java中的时间日期处理

    程序就是输入——>处理——>输出.对数据的处理是程序员需要着重注意的地方,快速.高效的对数据进行处理时我们的追求.其中,时间日期的处理又尤为重要和平凡,此次,我将把Java中的时间日期处理 ...

  3. 第28天学习打卡(Date和Calendar类 基本类型的包装类 集合 增强for循环 )

    Date和Calendar类 简介 日期和日历类,用于操作日期相关信息. 构造方法 Date(): 构造一个日期对象,当前系统时间,精确到毫秒. Date(long): 构造一个日期对象,时间为自&q ...

  4. 时间日期相关:Date类、DateFormat类、Calendar类

    1 Date类 类 Date 表示特定的瞬间,精确到毫秒. 1秒=1000毫秒 毫秒的0点:公元1970年 一月一日,午夜0:00:00 对应的毫秒值就是0 时间和日期的计算,必须依赖毫秒值. Sys ...

  5. 时间日期相关类:Date类,DateFormat类&SimpleDateFormat类,Calendar类

    日期相关类 1.Date类:日期时间类 A.构造方法 Date(): 根据当前系统时间创建日期对象 ​ Date(Long time):根据传入的毫秒值时间创建日期对象 B.成员方法 Long get ...

  6. Java 中的时间日期 API

    自从 14 年发布 Java 8 以后,我们古老 java.util.Date 终于不再是我们 Java 里操作日期时间的唯一的选择. 其实 Java 里的日期时间的相关 API 一直为世猿诟病,不仅 ...

  7. Java日期类:Date和Calendar的使用

    总是使用这两个类,总是需要百度.还不如一次全部整理完. 一.介绍: Date 类 Date 表示特定的瞬间,精确到毫秒. 在 JDK 1.1 之前,类 Date 有两个其他的函数.它允许把日期解释为年 ...

  8. Java 8 的时间日期 API

    上一篇文章『Java 的时间日期 API』中,我们学习了由 Date.Calendar,DateFormat 等组成的「传统时间日期 API」,但是传统的处理接口设计并不是很友好,不易使用.终于,Ja ...

  9. 日期时间类:Date,Calendar,计算类:Math

    日期时间类 计算机如何表示时间? 时间戳(timestamp):距离特定时间的时间间隔. 计算机时间戳是指距离历元(1970-01-01 00:00:00:000)的时间间隔(ms). 计算机中时间2 ...

随机推荐

  1. 不使用局部变量和for循环或其它循环打印出如m=19,n=2結果为2 4 8 16 16 8 4 2形式的串

    需求:不使用局部变量和for循环或其它循环打印形如:2 4 8 16 16 8 4 2 这样的串 代码MainTest.java package com.szp.study.javase.specia ...

  2. 关于verilog实例化的介绍

    概念 当我们完成一个比较完整的系统的时候,通常需要编写一个Testbench来验证自己的设计的功能能否满足设计要求.在这个系统中通常会有一个top模块来连接那些小的模块,verilog通过实例化的方式 ...

  3. EMR的fair-scheduler.xml

    cat /etc/ecm/hadoop-conf/fair-scheduler.xml <?xml version="1.0"?> <allocations> ...

  4. Python基础——numpy库的使用

    1.numpy库简介:    NumPy提供了许多高级的数值编程工具,如:矩阵数据类型.矢量处理,以及精密的运算库.专为进行严格的数字处理而产生. 2.numpy库使用: 注:由于深度学习中存在大量的 ...

  5. The Select mechanism in linux for block mechanism

    Today, some one mention theknowledge of Select Mechanism. It's better to konw something about it ! O ...

  6. [转帖]hdfs hbase hive hbase适用场景

    hdfs hbase hive hbase适用场景 https://www.cnblogs.com/liyulong1982/p/6001822.html Hive 不想用程序语言开发MapReduc ...

  7. [转帖]华为鲲鹏云服务器实战:华为云鲲鹏KC1实例 vs. 阿里云G5实例

    鲲鹏云服务器实战:华为云鲲鹏KC1实例 vs. 阿里云G5实例 https://m.ithome.com/html/444828.htm 2019-09-12 15:25IT之家 (阿迷) 今年一月份 ...

  8. GB18030 字符集

    gb18030 编辑 国家标准GB18030-2005<信息技术 中文编码字符集>是我国继GB2312-1980和GB13000.1-1993之后最重要的汉字编码标准,是我国计算机系统必须 ...

  9. 关于NumPy中数组轴的理解

    参考原文链接(英文版):https://www.sharpsightlabs.com/blog/numpy-axes-explained/:中文版:https://www.jianshu.com/p/ ...

  10. pandas之聚合运算

    通过聚合运算可以得到我们比较感兴趣的数据以方便处理 import pandas as pd import numpy as np # 先创建一组数据表DataFrame df = pd.DataFra ...