在 Kotlin Android(最低 Android 版本 21)中解析日期的正确方法。我的解析不起作用

2024-07-04

我想以这种格式解析这个日期 2021-11-03T14:09:31.135Z (message.created_at)

我的代码是这样的:

val dateFormat = SimpleDateFormat("yyyy-MM-dd hh:mm:ss.SSS")
var convertedDate = Date()
try {
    convertedDate = dateFormat.parse(message.created_at)
} catch (e: ParseException) {
    e.printStackTrace()
}

解析失败


不要使用SimpleDateFormat它的长过时且麻烦 https://stackoverflow.com/questions/1969442/whats-wrong-with-java-date-time-api.
Use DateTimeFormatter解析日期。

 fun parseDate() {
        var formatter: DateTimeFormatter? = null
        val date = "2021-11-03T14:09:31.135Z" // your date string
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
            formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSSXXX") // formatter
            val dateTime: ZonedDateTime = ZonedDateTime.parse(date, parser) // date object
            val formatter2: DateTimeFormatter =
                DateTimeFormatter.ofPattern("EEEE, MMM d : HH:mm") // if you want to convert it any other format
            Log.e("Date", "" + dateTime.format(formatter2))
        }
    }

Output:11 月 3 日星期三:14:09

要在 android 8 下面使用它,请使用脱糖 https://developer.android.com/studio/write/java8-support

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

在 Kotlin Android(最低 Android 版本 21)中解析日期的正确方法。我的解析不起作用 的相关文章

  • 重命名由 android 10 中的应用程序创建的 Mediastore 文件。在 Android API 30 上工作,但在 API 29 中显示错误

    在这里 这个 renameFile 函数在 Android API 30 中工作 但是 它在 Android API 29 中不起作用 并显示如下错误 java lang IllegalArgumentException 不允许移动不属于明
  • **线程“main”中的异常java.util.InputMismatchException**

    我正在尝试从 txt 文件中获取一些记录并将其放入以下 Java 程序的数据库中 package Java Demo import java sql import java util import java io public class
  • getInstance() 不适用于实时数据库中除 us-central1 之外的其他位置

    我正在尝试将用户凭据保存到 Firebase 实时数据库 但是 当我执行该程序时 数据库没有更新 我已正确配置 Firebase 设置 因为身份验证和存储 均为 Firebase 正在运行 build gradle dependencies
  • Java JDK中有并发List吗?

    如何创建一个并发 List 实例 在其中可以按索引访问元素 JDK 有我可以使用的类或工厂方法吗 ConcurrentLinkedQueue 如果您不关心基于索引的访问 而只想要列表的插入顺序保留特性 那么您可以考虑java util co
  • 解压jar到指定目录

    我想使用以下命令将我的罐子之一提取到指定目录jar命令行实用程序 如果我理解正确的话 C选项应该能解决问题 但是当我尝试时 jar xvf myJar jar C directoryToExtractTo 我从 jar 实用程序获取使用信息
  • 终极Java版本表(J2EE、Java EE、Servlet、JSP、JSTL)

    我正在寻找 Java EE 或以前称为 J2EE 和 Java SE 的组件分解 E g J2EE 1 3 Servlet 2 3 JSP 1 2 JSTL 1 0 J2EE 1 4 Servlet 2 4 JSP 2 0 JSTL 1 1
  • 如何将node.js应用程序转换为cordova

    我们建造了一个node js适用于台式机和平板电脑的应用程序 它是完全基于网络的应用程序 现在我计划在中实现与本机应用程序相同的应用程序android using Apache cordova 在项目目录下 我们有node modules
  • Eclipse 创建 Java 虚拟机失败

    我正在使用 eclipse 开发 android 应用程序 它总是进展顺利 但今天它出现了问题 当我尝试打开 Eclipse 时 它 向我显示此消息 Failed to create the java virtual machine Err
  • 具有 EditText 材质设计的工具栏

    我正在尝试制作带有 EditText 的工具栏 如下所示 现在我可以做一些类似的事情 但只能使用静态标题 有什么想法可以开始吗 我已经这样做了 如下所示 有Toolbar as AppBar aka ActionBar 位于顶部 其下方的第
  • 使用 Lucene 提取英语单词词干

    我正在 Java 应用程序中处理一些英文文本 我需要对它们进行词干处理 例如 从文本 amenities amenity 中我需要获取 amenit 该函数如下所示 String stemTerm String term 我找到了 Luce
  • 如何限制匿名子类的创建(Java)

    抱歉 我之前没有正确表述这个问题 我尝试实现工厂模式 一个更好的例子 它是一个带有 create 函数的抽象类 Human 根据创建时传递的参数 它决定是返回其子类 Man 的实例还是返回 Woman 子类的实例 因此 您可以使用以下命令调
  • 如何调节日志指令随时间产生的打印输出量?

    如何将程序日志打印输出限制为 Y 秒内最多 X 个打印输出 使用 java util logging 进行服务器端编程 我的代码有很多信息 警告和错误语句 例如 s logger logp Level WARNING myClassName
  • CacheStoreMode USE 和 REFRESH 有什么区别

    javadoc 为缓存存储模式 http docs oracle com javaee 6 api javax persistence CacheStoreMode html区分我无法真正理解的一点 javadoc 为USE mode 从数
  • 将图像添加到Toast?

    是否可以以编程方式将图像添加到 toast 弹出窗口 Yes 您可以使用 setView 方法将 imageview 或任何视图添加到 toast 通知中 使用此方法您可以根据您的要求自定义 Toast 在这里 我创建了一个要膨胀到 Toa
  • PHP 使用正则表达式分解字符串

    我有一个长字符串 由一系列用单引号分隔的句子组成 Example This s sentence number 1 This s sentence number 2 请注意 该字符串的句子本身有单引号部分 这些部分已被转义 我需要使用单引号
  • Android RecyclerView:拖放多个ViewType

    I implement drag and drop for a RecyclerView it works well when have one View type but reset the RecyclerView when have
  • 如何在 eclipse 中安装最新版本的 Xuggler(5.4,截至 18/05/2013)?

    我真的不知道从哪里开始这样做 我已经从网站下载了必要的 Jar 并对如何在 Eclipse 中安装 Xuggler 进行了一些研究 但所有内容都已过时或不相关 我的系统是 64 位 Windows 8 大多数在 Vista 和 Window
  • 启动应用程序时反应本机 Android 错误

    V SoLoader libimagepipeline so not found on data data com learnapp lib main D SoLoader libimagepipeline so found on data
  • java中的长轮询

    我已经编写了用于长轮询的服务器端代码 我想用java写客户端程序 因此 根据长轮询 客户端发送一个由服务器帮助的请求 当事件发生时服务器响应该请求 然后客户端发送新的请求 所以我面临的麻烦是用java编写的客户端 发送请求后 如何继续检查客
  • 使用部署在 Tomcat 中的 Web 应用程序关闭 Tomcat

    我对我的 webapp 开发中遇到的 tomcat 操作有一些疑问 有什么办法可以从部署在tomcat中的web应用程序中关闭tomcat本身吗 tomcat 是否在一个 JVM 或单个 JVM 中运行其所有 webapps war 或者在

随机推荐