后端处理方式:特殊格式时间转换(2020-11-27T02:58:41.000000Z)
注意:
使用dealDateFormat方法处理(2020-11-27T02:58:41.000000Z)这类时间类型后会出现和实际时间相差8小时,所以需要在处理之前加8小时(使用hourAddNum3方法处理)
// 使用dealDateFormat处理这种类型的时间后会缺8个小时,需要加8小时
DateUtil.dealDateFormat(DateUtil.hourAddNum3("2020-11-27T02:58:41.000000Z",8))
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Locale;/*** @author madong*/
public class DateUtil {/*** 类似2021-01-26t01:00:00.000+0000时间格式处理* @param oldDate* @return*/public static String dealDateFormat(String oldDate) {Date date1 = null;DateFormat df2 = null;try {DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm");Date date = df.parse(oldDate);SimpleDateFormat df1 = new SimpleDateFormat ("EEE MMM dd HH:mm:ss Z yyyy", Locale.UK);date1 = df1.parse(date.toString());df2 = new SimpleDateFormat("yyyy-MM-dd HH:mm");} catch (ParseException e) {e.printStackTrace();}return df2.format(date1);}/*** 添加小时* @param time* @param hour* @return*/public static String hourAddNum3(String time, Integer hour){//标准格式String s = "yyyy-MM-ddTHH:mm:ss.SSSZ";//若influxdb取得的时间长度小于标准长度if(time.length() < s.length()){//若influxdb取得的时间无毫秒,即:yyyy-MM-ddTHH:mm:ssZif(time.length()==20){time = time.substring(0,time.length()-1)+ ".000Z";}else {//若influxdb取得的时间有毫秒但长度不足,即:yyyy-MM-ddTHH:mm:ss.SZ或yyyy-MM-ddTHH:mm:ss.SSZint n = s.length() - time.length();String sub = "";for (int i = 0; i < n; i++) {sub+="0";}time = time.substring(0,time.length()-1)+ sub + 'Z';}}//若influxdb取得的时间长度大于标准长度if(time.length() > s.length()){time = time.substring(0, s.length() - 1) + 'Z';}Date newTime = null;try{SimpleDateFormat format;if(time.contains(".")){format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");}else {format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss:SSS'Z'");}Date date = format.parse(time);Calendar calendar = Calendar.getInstance();calendar.setTime(date);calendar.add(Calendar.HOUR_OF_DAY, hour);newTime = calendar.getTime();time = format.format(newTime);}catch (Exception e){e.printStackTrace();}return time;}}
后端处理方式:特殊格式时间转换(2020-11-27T02:58:41.000000Z)相关推荐
- 前端处理方式:特殊格式时间转换(2020-11-27T02:58:41.000000Z)
前端js处理特殊时间格式(2020-11-27T02:58:41.000000Z): //特殊格式时间转换(2020-11-27T02:58:41.000000Z)function timeChang ...
- ISO-8601格式时间转换
/*** @param strTime 示例:"2020-01-01 23:59:59"* @return "2020-01-01T15:59:59Z"*/ / ...
- C语言实现字符串格式时间转换时间戳
1.函数实现 #include <string.h> #include <stdio.h> #include <time.h>/* 判断是否闰年 */ #defi ...
- 时间戳与特定格式时间转换
1 获取时间戳 1.获取系统当前时间的时间戳(单位:毫秒) 方法1: var timestamp1= +new Date(); 方法2: var timestamp2 = new Date().val ...
- iOS时间转换相关整理(附送试用期逻辑处理)
对于时间转换我们并不陌生,只是不同的后台风格不同,我们请求回来的时间格式也不同! 现整理时间相关点: //从1970年开始到现在经过了多少秒-(NSString *)getTimeSp{NSStrin ...
- 后端node-xlsx读取excel文件后时间格式的转换 - 利用xlsx自带方法
在node端中使用node-xlsx读取带有日期数据的excel文件文件时,发现日期数据全部变成了数字,手动验证发现是距离1900年1月1日的天数,网上很多解决方案为进行天数转换,但是要额外增加一个函 ...
- moment格式换时间_不一样的日期、时间转换(moment.js)
无意中遇到了一种很奇怪的日期格式,从接口中返回的日期是这样的,如 2018-02-06T11:59:22+08:00 .然而这却不是我们想要的,我们要的是这种,YYYY-MM-DD HH:mm:ss. ...
- 有关于格式的转换(时间、各种类型、集合、Json之间)
作为一名开发人员,从前端 接收到各种各样的数据需要转变成为我们所用的格式,比如前端如果传来一个date,那我们需要获取到之后进行一系列的操作,那接下来就分成几块来记录关于格式的转换. 一.时间的转换 ...
- ISO8601时间格式的转换
java中ISO8601标准时间格式的转换 最近对接第三方平台接口,返回的日期是ISO8601标准时间(yyyy-MM-dd'T'HH:mm:ssZZ),例: "startTime" ...
最新文章
- Linux tail 命令详解
- Android UI SurfaceView的使用-绘制组合图型,并使其移动
- 荣发护肤护甲增强配方 Hair, Skin and Nails Plus 100 tablets
- jquery实现tab切换加自动滚动切换
- Linux下一些实用的操作记录
- VTK:可视化算法之PlateVibration
- python 如何将代码中的输入保存到txt里边
- 关于堆的判断 (25 分)
- [react] 请说说什么是useReducer?
- NUC1313 皇帝的金币
- Docker 大势已去,Podman 崛起
- 距离矢量路由算法_距离矢量路由协议是如何巧妙的利用一种消息就完成失效路由通告、以及失效路由备份路径查询及查询响应。...
- 背包九讲-第三讲 多重背包
- 计算机科学概论文正,北京工业大学软件学院硕导介绍-李文正
- osgb转3dtiles之数据篇
- 源恒房地产税务软件土地增值税清算系统
- 金蝶K3 WISE 12.3版本系统部署指南
- cmd检查java_如何通过cmd查看java环境
- 李云龙二次元风格化!
- 动态规划:HDU1248-钱币兑换问题