目录
前言:
受二哥时间转时间戳的那篇博客启发,我决定我也要整理一下时间类型的转换。{沉默王二,江湖人称二哥}
在开发过程我们经常遇到时间戳这个类型。
举个例子,创建时间我们一般用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);
}
}