Java基础 与时间日期相关的类:System -Date -SimpleDateFormat -Calendar类 -解决后缀.000Z 的时区问题
笔记总结:
/**与时间相关的类: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 的时区问题的更多相关文章
- Java基础进阶:时间类要点摘要,时间Date类实现格式化与解析源码实现详解,LocalDateTime时间类格式化与解析源码实现详解,Period,Duration获取时间间隔与源码实现,程序异常解析与处理方式
要点摘要 课堂笔记 日期相关 JDK7 日期类-Date 概述 表示一个时间点对象,这个时间点是以1970年1月1日为参考点; 作用 可以通过该类的对象,表示一个时间,并面向对象操作时间; 构造方法 ...
- Java中的时间日期处理
程序就是输入——>处理——>输出.对数据的处理是程序员需要着重注意的地方,快速.高效的对数据进行处理时我们的追求.其中,时间日期的处理又尤为重要和平凡,此次,我将把Java中的时间日期处理 ...
- 第28天学习打卡(Date和Calendar类 基本类型的包装类 集合 增强for循环 )
Date和Calendar类 简介 日期和日历类,用于操作日期相关信息. 构造方法 Date(): 构造一个日期对象,当前系统时间,精确到毫秒. Date(long): 构造一个日期对象,时间为自&q ...
- 时间日期相关:Date类、DateFormat类、Calendar类
1 Date类 类 Date 表示特定的瞬间,精确到毫秒. 1秒=1000毫秒 毫秒的0点:公元1970年 一月一日,午夜0:00:00 对应的毫秒值就是0 时间和日期的计算,必须依赖毫秒值. Sys ...
- 时间日期相关类:Date类,DateFormat类&SimpleDateFormat类,Calendar类
日期相关类 1.Date类:日期时间类 A.构造方法 Date(): 根据当前系统时间创建日期对象 Date(Long time):根据传入的毫秒值时间创建日期对象 B.成员方法 Long get ...
- Java 中的时间日期 API
自从 14 年发布 Java 8 以后,我们古老 java.util.Date 终于不再是我们 Java 里操作日期时间的唯一的选择. 其实 Java 里的日期时间的相关 API 一直为世猿诟病,不仅 ...
- Java日期类:Date和Calendar的使用
总是使用这两个类,总是需要百度.还不如一次全部整理完. 一.介绍: Date 类 Date 表示特定的瞬间,精确到毫秒. 在 JDK 1.1 之前,类 Date 有两个其他的函数.它允许把日期解释为年 ...
- Java 8 的时间日期 API
上一篇文章『Java 的时间日期 API』中,我们学习了由 Date.Calendar,DateFormat 等组成的「传统时间日期 API」,但是传统的处理接口设计并不是很友好,不易使用.终于,Ja ...
- 日期时间类:Date,Calendar,计算类:Math
日期时间类 计算机如何表示时间? 时间戳(timestamp):距离特定时间的时间间隔. 计算机时间戳是指距离历元(1970-01-01 00:00:00:000)的时间间隔(ms). 计算机中时间2 ...
随机推荐
- 静态链表过程演示及代码实现(A - B) U (B - A)
静态链表说明 使用数组来实现链式存储结构,目的是方便在不设指针类型的高级程序设计语言中使用链式结构 c语言定义数据结构 #define MAX_SIZE 1000 // 所有的类型都统一定义为Elem ...
- 【VS开发】【C++开发】const在函数前与函数后的区别
const在函数前与函数后的区别 一 const基础 如果const关键字不涉及到指针,我们很好理解,下面是涉及到指针的情况: int b = ...
- docker 删除不用的镜像
1.删除悬空的镜像 docker image prune -a -f 2.删除悬空的镜像 docker container prune -f 3.定时清空镜像和脚本 [root@VM_0_42_cen ...
- [转帖]两张图看懂GDT、GDTR、LDT、LDTR的关系
两张图看懂GDT.GDTR.LDT.LDTR的关系 2018-06-09 18:13:53 Six_666A 阅读数 2044更多 分类专栏: 深入理解linux内核 转自:http://ju.o ...
- Windows用Eclipse来开发hadoop的WordCount的helloworld
[学习笔记] 2.Win7用Eclipse来开发hadoop的WordCount的helloworld网上下载hadoop-eclipse-plugin-2.7.4.jar,将该jar包拷贝到Ecli ...
- vmware 安装XP 32位Professional版本
VMware14 安装XP 专业版,总部报错Dicrectory Boot not found 下载了N多个XP的版本发现,原来是XP版本的问题,现将正确版本写在这里,以备后用 百度网盘共享位置 ...
- Oracle常用基础语句(杂)
打开服务 WIN + R services.msc 登录 --方法1 --WIN + R --CMD sqlplus / as sysdba --方法2,常用 --WIN + R --CMD --&q ...
- react-router 5.0 的鉴权
react-router 5.0 的鉴权 当我们使用react-router 控制页面的路由时候,有些页面,是需要登录才能访问,有些不需要登录就可以访问,还有些页面,是根据用户的权限来限制访问的. 如 ...
- MD5加密处理
无论传送过程和存储方式,都是以明文的方式,很不安全!一旦泄漏,将会造成很大的损失! 插件名称jQuery.MD5.js: /** * jQuery MD5 hash algorithm functio ...
- ggplot2|详解八大基本绘图要素
本文首发于微信公众号 *“ 生信补给站 ” ,期待您的关注!!!* 原文链接:https://mp.weixin.qq.com/s?__biz=MzIyNDI1MzgzOQ==&mid=265 ...