首页 > 其他分享 >UTC时间转换北京时间yyyy-MM-dd'T'HH:mm:ss.SSS'Z'

UTC时间转换北京时间yyyy-MM-dd'T'HH:mm:ss.SSS'Z'

时间:2023-02-07 18:00:30浏览次数:46  
标签:UTC ss dd yyyy MM HH date mm

public static void main(String args[]) throws ParseException {
castUTC("2023-02-07T12:16:03.944Z", "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
}

public static void castUTC(String UTCStr, String format) throws ParseException {
Date date = null;
SimpleDateFormat sdf = new SimpleDateFormat(format);
date = sdf.parse(UTCStr);
System.out.println("UTC时间转换+8前: " + date);
date = hourBefore2Object(8, "", date);
System.out.println("UTC时间转换+8后: " + date);
System.out.println("UTC时间转换+8后格式话: " + formatDate(date,"yyyy-MM-dd HH:mm:ss"));
}
/**
* 得到日期字符串 默认格式(yyyy-MM-dd) pattern可以为:"yyyy-MM-dd" "HH:mm:ss" "E"
*/
public static String formatDate(Date date, String pattern) {
if (date == null || StringUtils.isBlank(pattern)) {
return null;
}
return DateFormatUtils.format(date, pattern, Locale.SIMPLIFIED_CHINESE);
}
/**
* 相对于当前日期的前几小时钟
*
* @param hours
* @param format
* @param instance
*/
public static <T> T hourBefore2Object(int hours, String format, T instance) {
Calendar calendar = Calendar.getInstance();
if (format == null || format.equals("")) {
format = "yyyy-MM-dd HH:mm:ss";
}
if (instance instanceof Date) {
calendar.setTime((Date) instance);
calendar.add(Calendar.HOUR, hours);// 增加x小时
Date date = calendar.getTime();
return (T) date;
}
return null;
}

/**
* 日期型字符串转化为日期 格式 { "yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd HH:mm",
* "yyyy/MM/dd", "yyyy/MM/dd HH:mm:ss", "yyyy/MM/dd HH:mm" }
*/
public static Date parseDate(Object str) {
if (str == null) {
return null;
}
return parseDate(str.toString(), "yyyy-MM-dd HH:mm:ss");
}

public static Date parseDate(Object str, String parsePattern) {
if (str == null) {
return null;
}
if (StringUtils.isBlank(parsePattern)) {
parsePattern = "yyyy-MM-dd";
}
try {
return org.apache.commons.lang3.time.DateUtils.parseDate(str.toString(), parsePattern);
} catch (ParseException e) {
return null;
}
}

标签:UTC,ss,dd,yyyy,MM,HH,date,mm
From: https://www.cnblogs.com/liang2023/p/17099355.html

相关文章

  • linux系统 修改密码显示 passwd:模块未知
    故障现象  原因分析安装strace命令进行跟踪#yuminstall-ystrace抓取报错日志#strace-opasswd.logpasswd 查看日志,发现/usr/lib64/security目录中没......
  • Boss Of The SOC v1
    一、题目介绍&环境SHA1SUM 89719952101ffdf7ee577aaed9a5f6c98934b812Published Aug.3,2020Author SplunkTeamSize 1.9GiBInstructions Virtualbox:unzipth......
  • NoClassDefFoundError: Could not initialize class MinioAsyncClient
    场景之前springboot集成的minio突然报错了,导致图片和附件查看和上传都出现问题。经过查看服务日志,提示错误如下java.lang.NoClassDefFoundError:Couldnotinitiali......
  • 解决Centos使用ssh连接自动断开
    在使用Centos7的时候,经常在一段时间没有操作之后就自动断掉了,然后重新连接之后就可能失去了当前操作场景,那么如何才能保证我们即使长时间不操作也会一直保持连接状态,往下看......
  • [08001][unixODBC]zabbix 6.2 [Microsoft][ODBC Driver 18 for SQL Server]SSL Provid
    环境:Centos9stream 这个问题大致原因是,数据库证书认证失败。先说解决方法:1.首先确保openssl是1.1.1版本的,如果是3.2.0可以尝试卸载该版本或重装系统为linux Centos8str......
  • Remote License Issue
    错误信息解决方法:1、检查licensemanager中的license信息:PerUserCAL,版本为20192、打开组策略编辑器,路径:ComputerConfiguration\AdministrativeTemplates\Windows......
  • Openssh升级记录
    执行升级前备份文件cp-r/etc/ssh /etc/ssh_bakcp/etc/init.d/sshd /etc/init.d/sshd_bakcp/usr/sbin/sshd /usr/sbin/sshd_bak一、查看openssl 1、查看opens......
  • 基于arthas热更新class脚本
    1.概述本地更新脚本是基于arthas工具的retransform命令热替换class,此方法用于在不重启项目的前提下,替换更新的class,如关键类添加打印日志,排查线上问题但是arthas工具的......
  • redisson分布式锁的应用——秒杀、超卖 简单例子(分布式锁相关)
    1、常见的分布式事务锁1、数据库级别的锁乐观锁,给予加入版本号实现悲观锁,基于数据库的forupdate实现2、Redis,基于SETNX、EXPIRE实现3、Zookeeper,基于InterProcess......
  • NSSet全部API学习。
    /****************集合(NSSet)和数组(NSArray)有相似之处,都是存储不同的对象的地址,不过NSArray是有序的集合,NSSet是无序的集合,同时NSSet可以保证数据的唯一性,当插入相同的数据时......