Java中各种时间类型的转换

本小妞迷上赌 提交于 2020-03-06 11:05:57

目录

 

前言:

(1)时间戳毫秒级转换成秒级

(2) 时间戳转换成时间类型

 (3)普通的时间类型转换成时间戳

(4) 使用第三方类库转换

(5)String 转换成Date

(6)Date转换成String

(7)Calendar转换成String

(8)String 转换成Calendar

 (9)Date 转换成Calendar

总结:


前言:

二哥时间转时间戳的那篇博客启发,我决定我也要整理一下时间类型的转换。{沉默王二,江湖人称二哥}

在开发过程我们经常遇到时间戳这个类型。

举个例子,创建时间我们一般用Timestamp 这个类型,但是返回给前端的数据有时候会不准确,直接是 1583455581 这样子的,那么这种情况我们需要将其转换成我们熟悉的时间格式, 。

再比如说企业微信官方文档,调用它们的打卡数据的时候,时间类的数据大多数情况下返回时间戳, 那么我们就需要处理一下数据,今天我就来整理一下时间与时间戳格式的互转。

当然了,现在度娘上面有很多像下面这种的在线网页,可以直接转换时间戳和时间。

 

 

(1)时间戳毫秒级转换成秒级

 //1.第一种方式,将毫秒级转换成秒级
       long timeStamp = System.currentTimeMillis();
       int timeStamp2 = (int) (timeStamp / 1000);
       System.out.println("第一种方式:毫秒级的时间为:----"+timeStamp + "---秒级的时间为-----"+timeStamp2);

运行结果:

 

(2) 时间戳转换成时间类型

 //2.第二种方式,怎么将时间戳转换成时间类型
       //注意:不能直接将时间戳转换成String类型,应该先将时间戳转换成Date 类型,然后才是转换成String 类型

       int timeStamp3 = 1583456151;
       SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
       String resultDate = sdf.format(new Date(timeStamp3 * 1000L));
       System.out.println("第二种方式:时间戳类型的数据转换成时间类型----"+resultDate);

运行结果:

 

 (3)普通的时间类型转换成时间戳

     //3.第三种方式,怎么将普通的时间转换成时间戳呢
       String startDate = "2020-03-06 08:55:51";
       SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
       int timeStampUnix = (int) (simpleDateFormat.parse(startDate).getTime() / 1000);
       System.out.println("第三种方式:普通的时间转换成时间戳:-----"+ timeStampUnix);

运行结果:

 

(4) 使用第三方类库转换

 //4.使用第三方类库进行转换
       String resultFormatDate = DateFormatUtils.format(1578179845 * 1000L,"yyyy-MM-dd HH:mm:ss");
       System.out.println("4.使用 DateFormatUtils 转换后的结果:-------"+resultFormatDate);

运行结果:

 

补充部分: 

(5)String 转换成Date

//补充类:-------------------------------------------------
       //补充1: String 转Date
       SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd");
       Date date = sdf2.parse("2020-03-06");
       System.out.println("补充1:String 转Date----"+date);

运行结果:

 

(6)Date转换成String

 //补充2.将Date 转换成String
       System.out.println("补充2:Date 转String------"+sdf2.format(date));

运行结果:

(7)Calendar转换成String

 //补充3.将Calendar 转化 String
       //获取当前时间的具体情况,如年,月,日,week,date,分,秒等
       Calendar calendar = Calendar.getInstance();
       SimpleDateFormat simpleDateFormat3 = new SimpleDateFormat("yyyy-MM-dd");
       String resultCalendarDate = simpleDateFormat3.format(calendar.getTime());
       System.out.println("补充3.将Calendar 转换成String:-------"+resultCalendarDate);

 运行结果:

 

(8)String 转换成Calendar

 //补充4.将String转换成Calendar

       String str="2020-03-06";
       SimpleDateFormat simpleDateFormat4= new SimpleDateFormat("yyyy-MM-dd");
       Date date4 =simpleDateFormat4.parse(str);
       Calendar calendar2 = Calendar.getInstance();
       calendar2.setTime(date);
       System.out.println("补充4.将String 转换成Calendar-----"+date4);

运行结果:

 

 (9)Date 转换成Calendar

 

      //补充5, 将Date 转换成Calendar
       Calendar calendar5 = Calendar.getInstance();
       calendar5.setTime(new Date());
       System.out.println("补充5,-------"+ calendar5.getTime());

 

运行结果:

(10)Calendar 转换成Date

 //补充6,将Calendar转化Date

       Calendar calendar6 = Calendar.getInstance();
       Date date6 =calendar6.getTime();
       System.out.println("补充6:将Calendar转换成Date -----"+date6);

运行结果:

 

总结:

 欢迎各位小伙伴评论补充,如果觉得小编整理的不错的话,是否可以给小编一个赞呢,感谢啦

package com.test.nodefault;

import com.test.model.ShoesModel;
import org.apache.commons.lang3.time.DateFormatUtils;
import org.apache.commons.lang3.time.DateUtils;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;

/**
 * @Author tanghh
 * @Date 2020/2/25 16:31
 */
public class TestShones {
   public static void main(String[]args) throws ParseException {
       //1.第一种方式,将毫秒级转换成秒级
       long timeStamp = System.currentTimeMillis();
       int timeStamp2 = (int) (timeStamp / 1000);
       System.out.println("第一种方式:毫秒级的时间为:----"+timeStamp + "---秒级的时间为-----"+timeStamp2);
       //2.第二种方式,怎么将时间戳转换成时间类型
       //注意:不能直接将时间戳转换成String类型,应该先将时间戳转换成Date 类型,然后才是转换成String 类型

       int timeStamp3 = 1583456151;
       SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
       String resultDate = sdf.format(new Date(timeStamp3 * 1000L));
       System.out.println("第二种方式:时间戳类型的数据转换成时间类型----"+resultDate);

       //3.第三种方式,怎么将普通的时间转换成时间戳呢
       String startDate = "2020-03-06 08:55:51";
       SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
       int timeStampUnix = (int) (simpleDateFormat.parse(startDate).getTime() / 1000);
       System.out.println("第三种方式:普通的时间转换成时间戳:-----"+ timeStampUnix);

       //4.使用第三方类库进行转换
       String resultFormatDate = DateFormatUtils.format(1578179845 * 1000L,"yyyy-MM-dd HH:mm:ss");
       System.out.println("4.使用 DateFormatUtils 转换后的结果:-------"+resultFormatDate);

      //补充类:-------------------------------------------------
       //补充1: String 转Date
       SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd");
       Date date = sdf2.parse("2020-03-06");
       System.out.println("补充1:String 转Date----"+date);
       //补充2.将Date 转换成String
       System.out.println("补充2:Date 转String------"+sdf2.format(date));

       //补充3.将Calendar 转化 String
       //获取当前时间的具体情况,如年,月,日,week,date,分,秒等
       Calendar calendar = Calendar.getInstance();
       SimpleDateFormat simpleDateFormat3 = new SimpleDateFormat("yyyy-MM-dd");
       String resultCalendarDate = simpleDateFormat3.format(calendar.getTime());
       System.out.println("补充3.将Calendar 转换成String:-------"+resultCalendarDate);
       //补充4.将String转换成Calendar

       String str="2020-03-06";
       SimpleDateFormat simpleDateFormat4= new SimpleDateFormat("yyyy-MM-dd");
       Date date4 =simpleDateFormat4.parse(str);
       Calendar calendar2 = Calendar.getInstance();
       calendar2.setTime(date);
       System.out.println("补充4.将String 转换成Calendar-----"+date4);

      //补充5, 将Date 转换成Calendar
       Calendar calendar5 = Calendar.getInstance();
       calendar5.setTime(new Date());
       System.out.println("补充5,-------"+ calendar5.getTime());

       //补充6,将Calendar转化Date

       Calendar calendar6 = Calendar.getInstance();
       Date date6 =calendar6.getTime();
       System.out.println("补充6:将Calendar转换成Date -----"+date6);
   }

}

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!