java处理时间字符串2021-08-04T16:00:00.000Z

2023-11-08

背景

业务中收到了字符串2021-08-04T16:00:00.000Z,也有可能是2021-08-05,或者2021-08-05 12:00:00由于不确定性,需要手动转换时间。

直接上代码

public static String interceptTime(String timeStr) {
        if (!StringUtils.isBlank(timeStr)) {
            if (timeStr.contains("T")) {
                DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", Locale.ENGLISH);
                LocalDateTime ldt = LocalDateTime.parse(timeStr, df);
                ZoneId currentZone = ZoneId.of("UTC");
                ZoneId newZone = ZoneId.of("Asia/Shanghai");
                timeStr = ldt.atZone(currentZone).withZoneSameInstant(newZone).toLocalDateTime().toString();
            }
            if (timeStr.length() >= 10) {
                return timeStr.substring(0, 10);
            }
        }
        return timeStr;
    }

这样无论传入的是2021-08-04T16:00:00.000Z或者2021-08-05,返回值都是2021-08-05

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java处理时间字符串2021-08-04T16:00:00.000Z 的相关文章

  • 极路由 1s HC5661 玩转 openwrt

    注意 我的极路由1s是老版本的 是不带A的 安装篇 1 安装breed 根据这篇文章安装breed 成功后你就拥有了一台刷不死的路由器 2 下载openwrt系统 在这个网站可以下载 选择HC5661的版本 3 断电 按住reset键 上电
  • 在字符串中删除特定字符

    题目 在字符串中删除特定字符 删除后字符串变为 hi i a 即将原串中包含t e s中的都删除掉了 分析 方法 1 从头扫描原串 每遇到一个字符 在要删的串中比一遍 有的话就删除当前字符 然后继续下一个字符的判断 方法 2 由于方法 1
  • Shell编程学习(三)条件判断、流程控制

    条件判断 test 类似于if 前面说到过 可以用来判断上一个命令是否正确执行 我们就用一下这个命令来查看 等号两边要有空格 root iZwz9hv1phm24s3jicy8x1Z echo a 12 root iZwz9hv1phm24
  • MySQL是怎样运行的:从根儿上理解MySQL

    文章目录 快速查询的秘籍 B 树索引 1 没有索引的查找 1 1 在一个页中的查找 1 2 在很多页中查找 2 索引 2 1 一个简单的索引方案 2 2 InnoDB中的索引方案 1 聚簇索引 2 二级索引 2 3 InnoDB的B 树索引
  • python输出文件有省略号_解决python 输出是省略号的问题

    这个问题非常非常重要 搞了一晚上都没解决好 但是真的很简单很简单 如果你也 是用的numpy array 如果你也想得到输出矩阵的全部内容 而不是省略形式 0 10284943 0 0959931 0 00076021 0 01035775
  • 计算机技能应用大赛Java

    GO GO GO 大家好 我是你们的晴天学长 这是Java初赛考试范围知识点的快速链接 请自取哦 各位小伙伴觉得有帮助的话 可以给博主来波关注哦 考试范围 Java基础及环境 JDK发展历史 不同版本的进阶内容 Java程序的编写 编译 调
  • Unbuntu 20.4 配置RTX2080ti环境

    具体配置 显卡驱动460 cuda 11 0 3 450 51 06 linux run cudnn 11 3 linux x64 v8 2 1 32 Tensirflow 1 13 1 python 3 6 亲测有效
  • 微服务Ribbon在docker中无法通过服务名(SERVICE-ID)映射到宿主机IP

    I O error on GET request for http API ADMIN microservice 1 280d0f4200d8 nested exception isjava net UnknownHostException
  • Ubuntu操作系统学习笔记之FTP基础

    说明 FTP File Transfer Protocol 一个 古老但应用极为广泛 的互联网协议 FTP提供了一种可靠的方式在网络上进行文件共享 C S 架构 基于 TCP 提供了数据传输的可靠性 标准端口 20 数据端口 21 指令端口

随机推荐

  • 并发编程面试题汇总

    并发编程面试题 1 创建线程的方式有哪些 1 1继承 Thread 类 1 2实现 Runnable 接口 1 3实现 Callable 接口 1 4使用 Executors 工具类创建线程池 1 5使用 ThreadPoolExecuto
  • Sqli-labs Less8

    Sqli labs Less8 1 判断注入点 根据回显不同 存在单引号闭合注入点 可以尝试布尔盲注 2 判断字段 根据order by判断 字段数为3 3 爆破数据库 1 and length database 8 判断数据库名字的长度
  • 数据结构与算法【整理版】

    目录 数据结构 数据结构中查找 插入 删除分析 数组 链表 链表的创建代码 利用哨兵简化实现难度 删除链表中的倒数第N个结点 合并两个有序链表 141 环形链表 https leetcode cn com problems linked l
  • 【Unity-Cinemachine相机】虚拟相机旋转Composer属性详解

    Look At和Aim本质是控制虚拟相机自身的旋转 并不一定非要看着 或者并不一定非要瞄着这里的游戏对象 Look At和Aim是以Look At里面的对象作为参考来旋转自身 Do nothing 表现出来的行为和Look At空出来一样
  • iOS 应用测试总结

    在历代机型上的测试 主屏幕上的图标和程序名称显示是否正确 观察UI是否符合设计 多任务并存的情况下 测试app的流畅性 当前app的声音播放功能是否在拔出耳机后自动暂停 播放器类app或者有播放功能的app对各种格式文件的支持 播放视频时
  • 数据库JDBC(Java DataBase Connectivity)-->三层架构

    可以使用JDBC完成数据库的访问 java程序不能直接访问到某个具体的数据库 这种强耦合的方式不符合开闭原则 JDBC都是接口 具体JDBC的实现由数据库厂商来实现 将来数据库发生变化 只需要更改驱动 模拟数据库连接 通过反射创建对象 加载
  • 在Linux平台的CUDA cublas矩阵乘具体实现及编译过程

    文章目录 环境变量配置 代码 编译过程 结果 环境变量配置 vim bashrc 最后一行添加cublas v2所在的目录 export CPLUS INCLUDE PATH CPLUS INCLUDE PATH usr local cud
  • 从ChatGPT看人工智能

    ChatGPT是2022年出来的一个对话型人工智能 ChatGPT就是这样一种可以和人类用自然语言去交流的人工智能 一上线就引发了恐慌 最厉害的地方还是它能够用人类的语言来进行交流 不管是中文 英文 日文都可以 ChatGPT有可能就是传说
  • nuxt项目中引入ant design vue的less文件报错.bezierEasingMixin()

    最近使用nuxt 2 14 0版本当中使用 ant desgin vue 这个UI框架进行定制主题 首先 在nuxt项目当中的assets文件夹当中创建less文件夹 在less文件夹下创建index less和variable less文
  • 怎样在webpack中使用 art-template 模板引擎, art-template详解

    1 简介 art template是一个简约 执行速度超快的模板引擎 它采用作用域声明的技术来优化模板渲染速度 从而获得接近 Javascript 极限的运行性能 并且同时支持 NodeJs和浏览器 使用art template 便于代码的
  • linux cpu 内存爆满 mysql停止_每个程序员都应该知道的 CPU 知识:NUMA

    什么是 NUMA 早期的计算机 内存控制器还没有整合进 CPU 所有的内存访问都需要经过北桥芯片来完成 如下图所示 CPU 通过前端总线 FSB Front Side Bus 连接到北桥芯片 然后北桥芯片连接到内存 内存控制器集成在北桥芯片
  • 基于机器学习的油田产油量产量预测 AdaBoost、xgboost、lightgbm 完整代码数据 可直接运行

    项目讲解 基于机器学习 knn 逻辑回归 决策树 集成学习 adaboost梯度提升树 SVC xgboost的工业产量预测数据分析可视化 哔哩哔哩 bilibili 基于机器学习XGB svm LGBM knn的 from sklearn
  • Profiling Top Kagglers: Bestfitting, Currently #1 in the World

    We have a new 1 on our leaderboard a competitor who surprisingly joined the platform just two years ago Shubin Dai bette
  • 研究下DFD

    数据流图 简称DFD 是SA方法中用于表示系统逻辑模型的一种工具 它以图形的方式描绘数据在系统中流动和处理的过程 由于它只反映系统必须完成的逻辑功能 所以它是一种功能模型 下图是一个飞机机票预订系统的数据流图 它反映的功能是 旅行社把预订机
  • JAVA学习------打印多种星星矩阵

    打印一个10 10的星星矩阵 package step1 public class ForPractice1 public static void test start for int i 1 i lt 10 i for int j 1 j
  • [网络安全提高篇] 一一六.恶意代码同源分析及BinDiff软件基础用法

    网络安全提高班 新的100篇文章即将开启 包括Web渗透 内网渗透 靶场搭建 CVE复现 攻击溯源 实战及CTF总结 它将更加聚焦 更加深入 也是作者的慢慢成长史 换专业确实挺难的 Web渗透也是块硬骨头 但我也试试 看看自己未来四年究竟能
  • warning: remember to run ‘libtool --finish /usr/local/1/php-7.4.29/libs

    ubuntu上php7 4 33编译安装完成后警告报错 如下所示 usr local apache2 apr build 1 libtool finish usr local soft php 7 4 33 libs vim etc ld
  • C++:打印大写字母对应的ASCII码

    题目描述 输出26个大写字母对应的ASCII码 每输出 个ASCII码换一行再输出下一行 输入 输出 输出 个十进制整数 即对应大写字母的ASCII码 输出格式见样例 样例输入 Copy 样例输出 Copy 65 66 67 68 69 7
  • Docker学习进阶篇

    学自狂神 视频地址 https www bilibili com video BV1kv411q7Qc share source copy web 目标 掌握 docker基础 原理 网络 服务 集群 错误排查 日志 linux docke
  • java处理时间字符串2021-08-04T16:00:00.000Z

    背景 业务中收到了字符串2021 08 04T16 00 00 000Z 也有可能是2021 08 05 或者2021 08 05 12 00 00由于不确定性 需要手动转换时间 直接上代码 public static String int