使用 simpleDateFormat java 解析日期

2023-12-07

我想将字符串解析为日期,但获得的日期不正确。我的代码是这样的:

SimpleDateFormat df = new SimpleDateFormat("dd-MMM-yy hh.mm.ss.S a");
date1 = df.parse("17-DEC-19 05.40.39.364000000 PM");

但 date1 是: 2019 年 12 月 21 日星期六 22:47:19 IRST

我需要日期:* 12 月 17 日 17:40:39 IRST 2019


The SimpleDateFormat精度不超过毫秒(.SSS).

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;

public class Main {
    public static void main(String[] args) throws ParseException {
        SimpleDateFormat df = new SimpleDateFormat("dd-MMM-yy hh.mm.ss.SSS a", Locale.ENGLISH);
        Date date1 = df.parse("17-DEC-19 05.40.39.364 PM");
        System.out.println(date1);
    }
}

Output:

Tue Dec 17 17:40:39 GMT 2019

Note that the java.util date-time API and their formatting API, SimpleDateFormat are outdated and error-prone. It is recommended to stop using them completely and switch to the modern date-time API* .

使用现代日期时间 API:

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeFormatterBuilder;
import java.util.Locale;

public class Main {
    public static void main(String[] args)  {
        DateTimeFormatter df = new DateTimeFormatterBuilder()
                .parseCaseInsensitive() // For case-insensitive (e.g. AM/am) parsing
                .appendPattern("dd-MMM-yy hh.mm.ss.n a")
                .toFormatter(Locale.ENGLISH);
        
        LocalDateTime ldt = LocalDateTime.parse("17-DEC-19 05.40.39.364000000 PM", df);
        System.out.println(ldt);
    }
}

Output:

2019-12-17T17:40:39.364

了解有关现代日期时间 API 的更多信息路线:日期时间.


* For any reason, if you have to stick to Java 6 or Java 7, you can use ThreeTen-Backport which backports most of the java.time functionality to Java 6 & 7. If you are working for an Android project and your Android API level is still not compliant with Java-8, check Java 8+ APIs available through desugaring and How to use ThreeTenABP in Android Project.

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

使用 simpleDateFormat java 解析日期 的相关文章

  • 如何在 Eclipse 中用阿拉伯语读写

    我在 eclipse 中编写了这段代码来获取一些阿拉伯语单词 然后打印它们 public class getString public static void main String args throws Exception PrintS
  • 检查双精度值的等于和不等于条件

    我在比较两者时遇到困难double values using and 我创建了 6 个双变量并尝试进行比较If健康 状况 double a b c d e f if a b c d e f My code here in case of t
  • 如何打印整个字符串池?

    我想打印包含文字的整个字符串池String使用添加的对象intern 就在垃圾收集之前 JDK有没有隐式的方法来进行这样的操作 我们如何检查字符串池 EDIT The comment suggests that there may be a
  • Java 创建浮雕(红/蓝图像)

    我正在编写一个 Java 游戏引擎 http victoryengine org http victoryengine org 并且我一直在尝试生成具有深度的 3D 图像 您可以使用那些红色 蓝色眼镜看到 我正在使用 Java2D 进行图形
  • 由于连接超时,无法通过 ImageIO.read(url) 获取图像

    下面的代码似乎总是失败 URL url new URL http userserve ak last fm serve 126 8636005 jpg Image img ImageIO read url System out printl
  • 如何对 IntStream 进行逆序排序

    我正在使用 txt 文件读取数字BufferedReader 我想颠倒该流中元素的顺序 以便在收集它们时 它们将从最高到最低排列 我不想在构建数组后进行排序 因为我不知道其中可能有多少元素 我只需要最高的 N 个元素 in new Buff
  • 使用 Spring 时实例化对象,用于测试与生产

    使用 Spring 时 应该使用 Spring 配置 xml 来实例化生产对象 并在测试时直接实例化对象 这样的理解是否正确 Eg MyMain java package org world hello import org springf
  • MI设备中即使应用程序被杀死,如何运行后台服务

    您好 我正在使用 alaram 管理器运行后台服务 它工作正常 但对于某些 mi 设备 后台服务无法工作 我使用了服务 但它无法工作 如何在 mi 中运行我的后台服务 MI UI有自己的安全选项 所以你需要的不仅仅是上面提到的粘性服务 你需
  • Python BeautifulSoup XML 解析

    我编写了一个简单的脚本来使用 BeautifulSoup 模块解析 XML 聊天日志 标准 soup prettify 工作正常 只是聊天日志中有很多绒毛 您可以在下面看到我正在使用的脚本代码和一些 XML 输入文件 Code import
  • JavaFX - setVisible 隐藏元素但不重新排列相邻节点

    在 JavaFX 中 如果我有一个场景有 2VBox元素和每个VBox有多个Label in it 如果我设置顶部VBox to 无形的 为什么底部VBox 不向上移动顶部的场景VBox was The VBox is 无形的但我希望其他物
  • Java 变量的作用域

    我不明白为什么这段代码的输出是10 package uno public class A int x 10 A int x 12 new B public static void main String args int x 11 new
  • cucumber-junit-platform-engine 中的功能文件发现

    In cucumber junit我使用的库 CucumberOptions定义功能文件位置 package com mycompany cucumber import cucumber api CucumberOptions import
  • 参数动态时如何构建 JPQL 查询?

    我想知道是否有一个好的解决方案来构建基于过滤器的 JPQL 查询 我的查询太 富有表现力 我无法使用 Criteria 就像是 query Select from Ent if parameter null query WHERE fiel
  • tomcat 过滤所有 web 应用程序

    问题 我想对所有网络应用程序进行过滤 我创建了一个过滤器来监视对 apache tomcat 服务器的请求 举例来说 它称为 MyFilter 我在 netbeans 中创建了它 它创建了 2 个独立的目录 webpages contain
  • 在 AKKA 中,对主管调用 shutdown 是否会停止其监督的所有参与者?

    假设我有一位主管连接了 2 位演员 当我的应用程序关闭时 我想优雅地关闭这些参与者 调用supervisor shutdown 是否会停止所有参与者 还是我仍然需要手动停止我的参与者 gracias 阻止主管 https github co
  • 不兼容的类型:在 java netbeans 中对象无法转换为 String

    我试图在我的项目中使用对象数组 但出现错误 incompatible types Object cannot be converted to String 在这一行 ST1 new String emt1 emt2 emt3 emt4 现在
  • OpenJDK 版本控制

    上下文 我想确保我们系统上安装的 Java 不受 CVE 2022 21449 的影响 java version 给出 openjdk version 11 0 7 2020 04 14 LTS OpenJDK Runtime Enviro
  • 如何为 Jackson 编写一个包罗万象的(反)序列化器

    当您提前知道类型时 编写自定义序列化器非常容易 例如 MyType一个人可以写一个MyTypeSerializer extends StdSerializer
  • 从 Stax XMLStreamReader 读取以解组部分

    我正在使用 Stax 游标 API 从大型 xml 文件中提取数据 当前 我转到特殊标签的开头并使用 JAXB 解组该标签 这对于格式良好的 xml 文件效果很好 但不久前我有一个文档 其中数十万个标签中有一个未关闭 JAXB 使用 XML
  • Spock模拟inputStream导致无限循环

    我有一个代码 gridFSFile inputStream bytes 当我尝试这样测试时 given def inputStream Mock InputStream def gridFSDBFile Mock GridFSDBFile

随机推荐

  • Mac OSx 10.8 上 IDLE (Python 3.3.2) 中的 NumPy

    我知道这可能是一个重复的问题 但我在这里找到的所有答案都超出了我的想象 我对 Python 很陌生 但我想在 IDLE 中使用 NumPy python 3 3 2 IDLE 似乎无法访问 OSX 10 8 即 python 2 7 附带的
  • 按关键字对数组中的元素进行分组

    我正在 AngularJS 1 上开发一个应用程序 但我不知道如何按项目拆分另一个数组中的项目数组 我的意思是我有一系列不同的项目 我会按 uuid 对项目进行分组 如下所示 name toto uuid 1111 name tata uu
  • 做 {...} while(false)

    我正在查看一个人的一些代码 注意到他的函数中似乎有一个模式
  • 可以使用“new”位置来更改“const”数据吗?

    这是后续memcpy 可以用来更改 const 成员数据吗 And 声明 C 不可变类的惯用方式真正解决这个问题 尤其是this回答 在围绕不可变数据设计的语言中 它知道它可以 移动 您的数据 尽管它具有 逻辑 不变性 Given a st
  • 如何在 AutoFixture 中设置更复杂(类似 IoC)的注册

    使用 AutoFixture 时 是否可以在集成测试中重用生产 IoC 容器注册 问题是 如果未注册依赖项并注入 真实 数据库相关依赖项 我需要以下固定装置设置来注入模拟 var fixture new Fixture WithMocks
  • 使用 JavaFX 将渐变应用于球体对象

    我正在 JavaFX 中工作 我正在尝试将渐变应用于球体 但是 显然 我不知道该怎么做 我被困住了 因为我知道球体是一个对象 所以它需要有一种材质 但是 就颜色而言 PhongMaterial 只采用一种颜色 所以它不会采用渐变 因为渐变是
  • pyQt Matplotlib 小部件实时数据更新

    使用 pyQt 4 8 5 在 Python 2 7 中编写 如何在 pyQt 中实时更新 Matplotlib 小部件 目前 我正在对数据进行采样 现在是 random gauss 附加此数据并进行绘图 您可以看到我每次都会清除该数字并为
  • 将具有多个键的字典按一个键求和的最有效方法是什么?

    我有以下字典结构 product1 product tmpl id product id qty product uom qty price price unit subtotal price subtotal total price to
  • 在appdomain中加载静态类

    我在 C AppDomain 中遇到了一个大问题 我需要在 dll 文件中加载静态类并执行其方法 当我尝试通过以下方式加载它们时 Assembly LoadFrom XXXXX XXXXX is the full path of dll d
  • Laravel 递归关系

    我正在做一个项目Laravel 我有一个可以有父母或可以有孩子的帐户模型 所以我的模型设置如下 public function immediateChildAccounts return this gt hasMany Account ac
  • 仅对特定像素着色

    我有一个代表大脑图像的矩阵 每个 i j 位置的值都在 0 和 1 之间 我正在应用颜色图 以便那些值为 1 的像素为红色 0 为黄色 介于两者之间的像素得到中介值 现在 我想要的是那些值高于 0 8 的像素根据颜色图获得颜色 其余的变得透
  • 在另一个程序集中找到 Razor Pages

    我想在另一个程序集中找到 我的项目 Razor 页面 为此 我编写以下代码 public void ConfigureServices IServiceCollection services var adminAssembly Assemb
  • 应该避免 query_posts() 吗?

    我正在读那个query posts 应避免有利于wp query and pre get posts 我对弄乱循环没有信心 也不完全理解法典 下面的代码是否使用query posts 如果是的话 从那时起query posts 应该避免 你
  • 如何将一组变量放置在 gcc 的特定部分中,arm 是否有类似 #pragma default_variable_attributes 的内容

    下面的链接https www iar com support tech notes linker how do i place a group of functions or variables in a specific section
  • Web Worker 中的传感器读取

    看来我们无法在网络工作者中获取传感器数据 我想知道其背后的原因 用例是我正在考虑在工作线程中获取地理位置数据 并且仅将处理后的版本发送到主线程 对于 GPS 这post说工作线程不支持它 没有给出原因 我仔细检查了一下 网络工作人员不支持
  • SWT Tree - 可以降低本机展开图标吗?

    我有一个JFaceTreeViewer与 SWTTree底层 我正在绘制我的单元格 为自己提供多行支撑 目前 它看起来像这样 我希望展开图标和标签都像这样降低 这对于标签来说没有问题 因为我从StyledCellLabelProvider并
  • 根据日期检查创建新列

    我在 Scala 中有两个数据框 df1 ID Field1 1 AAA 2 BBB 4 CCC and df2 PK start date time 1 2016 10 11 11 55 23 2 2016 10 12 12 25 00
  • getSupportActionBar() 在 Android 应用程序中返回 Null

    我正在尝试在 Android Studio 中使用选项卡执行操作 但是getSupportActionBar 总是返回 null 我只想要一个带有 3 个选项卡的简单操作栏 我可以在其中单击 但操作栏或选项卡都没有出现 这是我的代码 imp
  • ios pjsip - 在 sip 通话期间播放声音

    当我进行 sip 呼叫时 有时我想发送 dtmf 数字 为此 我创建了一个自定义拨号盘 当按下某个键时 该拨号盘应播放该键的声音 但在 sip 呼叫期间不会播放该声音 当没有呼叫时 会播放声音 这些声音是通过以下函数播放的AudioTool
  • 使用 simpleDateFormat java 解析日期

    我想将字符串解析为日期 但获得的日期不正确 我的代码是这样的 SimpleDateFormat df new SimpleDateFormat dd MMM yy hh mm ss S a date1 df parse 17 DEC 19