使用 JodaTime 自动将秒转换为年/日/小时/分钟?

2024-02-12

当 x 超过 3600 秒时,有没有办法将 'x' 秒转换为 y 小时和 z 秒?同样,当x超过60但小于3600秒时,使用JodaTime?将其转换为'a分b秒'。我知道我必须在 periodFormatter 中指定我需要的内容,但我不想指定它 - 我想要一个基于秒值的格式化文本。

这类似于您在论坛上发帖的方式,然后您的帖子最初会显示为“10 秒前发布”。1 分钟后,您会看到“1 分钟 20 秒前发布”,同样的情况持续数周、数天、数年。


我不知道为什么你不想指定你需要什么PeriodFormatter. JodaTime不知道如何将句点显示为字符串,因此您需要通过PeriodFormatter.

由于 3600 秒等于 1 小时,正确使用格式化程序将自动为您完成此操作。下面是一个代码示例,在同一格式化程序上使用多个不同的输入,应该可以实现您想要的结果。

    Seconds s1 = Seconds.seconds(3601);
    Seconds s2 = Seconds.seconds(2000);
    Seconds s3 = Seconds.seconds(898298);
    Period p1 = new Period(s1);
    Period p2 = new Period(s2);
    Period p3 = new Period(s3);
    
    PeriodFormatter dhm = new PeriodFormatterBuilder()
        .appendDays()
        .appendSuffix(" day", " days")
        .appendSeparator(" and ")
        .appendHours()
        .appendSuffix(" hour", " hours")
        .appendSeparator(" and ")
        .appendMinutes()
        .appendSuffix(" minute", " minutes")
        .appendSeparator(" and ")
        .appendSeconds()
        .appendSuffix(" second", " seconds")
        .toFormatter();
    
    System.out.println(dhm.print(p1.normalizedStandard()));
    System.out.println(dhm.print(p2.normalizedStandard()));
    System.out.println(dhm.print(p3.normalizedStandard()));

产生输出::

1小时1秒

33分20秒

3天9小时31分38秒

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

使用 JodaTime 自动将秒转换为年/日/小时/分钟? 的相关文章

  • Hibernate 4 字节码增强不适用于脏检查优化

    我正在使用 Hibernate 4 3 6 并且我使用了最新的Maven 字节码增强 http vladmihalcea com hibernate 4 bytecode enhancement 使所有实体提高自我肮脏意识 我添加了mave
  • 在 Eclipse 中隐藏重复的工具栏项

    我不知道如何 但我的 STS 有重复的工具栏项目 我不知道如何删除它们 这是我复制的工具栏的样子 我想摆脱这些 我试图隐藏工具栏 但这没有帮助 有人知道如何删除重复的吗 自从升级到 Oxygen 以来 我一直遇到同样的问题 我无法可靠地重现
  • 如何抑制 Cucumber/Junit 断言堆栈跟踪

    我有一个黄瓜场景 该步骤使用assertEquals 我的结果报告显示了对最终用户不友好的堆栈跟踪 我怎样才能抑制它 Scenario Add two numbers Given I have two inputs 3 and 2 When
  • HttpSession 内的同步是否可行?

    UPDATE 问题后立即解决 问题 通常 同步是在 JVM 内序列化并行请求 例如 private static final Object LOCK new Object public void doSomething synchroniz
  • 我应该使用 JDBC getNString() 而不是 getString() 吗?

    我们正在构建一个由 Oracle 数据库支持的 Java 应用程序 我们使用 JDBC 驱动程序 访问该数据库ojdbc6 jar and orai18n jar 数据库模式主要使用以下方式存储文本列NVARCHAR2数据类型 The JD
  • Ant 中回显目标描述

  • 如何添加 Java 正则表达式实现中缺少的功能?

    我是 Java 新手 作为一名 Net 开发人员 我非常习惯Regex Net 中的类 Java 实现Regex 正则表达式 还不错 但它缺少一些关键功能 我想为 Java 创建自己的帮助器类 但我想也许已经有一个可用的了 那么 是否有任何
  • 如何在 Python 中加密并在 Java 中解密?

    我正在尝试在 Python 程序中加密一些数据并将其保存 然后在 Java 程序中解密该数据 在Python中 我像这样加密它 from Crypto Cipher import AES KEY 1234567890123456789012
  • java 中的 Try-with-resources 和 return 语句

    我想知道是否放一个return里面的声明尝试资源block 防止资源自动关闭 try Connection conn return conn createStatement execute 如果我写这样的东西将会联系被关闭 Oracle 文
  • 开发人员实际上是否使用 vim 在 Windows 操作系统上编写代码(Java)? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Hazelcast:连接到远程集群

    我们有一组 Hazelcast 节点 全部运行在一个远程系统 具有许多节点的单个物理系统 上 我们希望从外部客户端连接到该集群 一个 Java 应用程序 它使用如下代码连接到 Hazelcast ClientConfig clientCon
  • 按名称获取 ArrayList

    这是正确的获取方式吗ArrayList
  • 单元测试、集成测试还是设计中的问题?

    我编写了我的第一个单元测试 我认为它过于依赖其他模块 我不确定是否是因为 这是一个复杂的测试 我实际上已经编写了集成测试或 我的设计有问题 我首先要说的是 虽然我有大约 4 年的开发经验 但我从未学过 也没有人教过自动化测试 我刚刚使用 H
  • Java8 项目上的 SonarQube 给出 jacoco-Exception

    我刚刚下载了最新版本 SonarQube 4 3 然后尝试使用以下命令构建 java 8 项目 mvn clean install mvn sonar sonar 这给了我下面的例外 谷歌搜索 我的印象是这是一个早期的问题 应该已经解决 h
  • 如何从 Trie 中检索给定长度的随机单词

    我有一个简单的 Trie 用来存储大约 80k 长度为 2 15 的单词 它非常适合检查字符串是否是单词 但是 现在我需要一种获取给定长度的随机单词的方法 换句话说 我需要 getRandomWord 5 来返回 5 个字母的单词 所有 5
  • Java 常量枚举[重复]

    这个问题在这里已经有答案了 可能的重复 理解 Java 中的枚举 https stackoverflow com questions 1419835 understanding enums in java 为什么我们应该使用枚举而不是 Ja
  • 如何加载图像文件到ImageView?

    我试图在从文件选择器中选择图像文件后立即显示该图像文件 文件选择器仅限于 png 和 jpg 文件 所选文件存储在文件类型的变量中 为此 我设置了一个 ImageView 我希望用这个新文件设置图像 唯一的问题是它的类型是文件而不是图像 如
  • 如何在启用嵌入时间戳和 LTV 的情况下签署 PDF?

    我正在尝试签署启用了时间戳和 LTV 的 pdf 以便它在 Adob e Reader 中显示如下 在英语中 这意味着 签名包含嵌入的时间戳 和 签名启用了 LTV 这是我正在使用的代码 PrivateKey pk get pk from
  • 动态创建 JSON 对象

    我正在尝试使用以下格式创建 JSON 对象 tableID 1 price 53 payment cash quantity 3 products ID 1 quantity 1 ID 3 quantity 2 我知道如何使用 JSONOb
  • 尝试使用 Spring 和扩展 Hibernate JpaRepository 的自定义 GenericDao 接口来使用 EhCache

    背景 这是我的工作 简化 GenericDao接口 由任何实现DomainDao 通用Dao java NoRepositoryBean public interface GenericDao

随机推荐

  • 如何修改 C 程序以便 gprof 可以分析它?

    当我在我的 C 程序上运行 gprof 时 它说我的程序没有累积时间 并且所有函数调用都显示 0 时间 但是它确实对函数调用进行计数 如何修改我的程序 以便 gprof 能够计算某项运行所需的时间 编译的时候有没有指定 pg http so
  • 通过解析纯文本文件生成数据结构

    我为我正在编写的游戏编写了一个文件解析器 以便自己轻松更改游戏的各个方面 例如角色 舞台 碰撞数据 例如 我可能有一个像这样的字符类 class Character public int x y Character s location C
  • 使用 Golang 限制可执行文件的单个实例

    我一次只需要允许 Golang 可执行文件的一个实例 我不确定如何使用全局互斥体来确保没有其他实例正在运行 这将在 Windows 机器上运行 我知道这个主题有点老了 但我最近在 Windows 上需要它 我将在这里发布我是如何做到的 以防
  • 建立一个字典来按值查找键[重复]

    这个问题在这里已经有答案了 字典通常适合按键查找值 但按值查找键相当慢 for k v in dictionary items if v myValue return k 是否已经有一个数据结构可以同时实现 key gt value 和 k
  • d3 图缺少数组中的第一项

    我真的很挣扎 我正在使用 d3 库在 javascript 中创建点图 我想过滤实际绘制的点 以便稍后我可以将文本字段添加到数据集中名为 突出显示 的列中指定的其中一些字段 就像测试一样 我只绘制标记为 是 的圆圈 但最终会绘制所有圆圈 我
  • 为什么不能获取 nullptr 的地址?

    在C 11标准中 我不明白为什么要取地址nullptr是不允许的 而一个is允许使用自己的地址std nullptr t实例 除了这个事实之外nullptr是一个保留关键字 这个决定有什么指定的理由吗 只是因为它让我感到有趣 我尝试使用以下
  • 使用 PRAW 在 Python 中从 Reddit API 解码 JSON

    我在 Python GTK 应用程序中使用 PRAW for Reddit API 我已经成功地使用了 API 但我似乎无法解码 JSON 以供使用 应该知道 我是Python和GTK应用程序的初学者 Mode Python coding
  • 网格中最大的产品

    我被这个问题困扰了 我确实认为我已经找到了正确的解决方案 但是当将其提交到网站时 它不接受 我尝试通过打印所有可能的组合来调试它 它们都完成了 水平 垂直和对角线 数组也被正确填充 我后来打印出来检查了一下 你知道问题可能出在哪里吗 Que
  • 安装aws-sdk后出错

    我正在尝试让回形针与 S3 一起使用 但我的视图抛出错误 cannot load such file aws sdk You may need to install the aws sdk gem 我的 Rails 配置如下 Gemfile
  • (MVC 3 Razor) - 循环遍历 3 列 div 的更简单方法

    目前我在 CSHTML 中使用以下代码 int i 0 foreach var item in Model Traders if i 3 0 if i 1 div class row div class four column div cl
  • 获取 Firefox SDK main.js 中某个文件的内容

    所以我正在开发一个 Firefox 插件 它可以向任何网页的 DOM 添加一些 HTML 这里的想法是我使用一个名为template html作为模板 位于dataaddon 文件夹内的文件夹 接下来 我想使用该内容template htm
  • 如何像Notes App一样设置UITextView内容插入

    我正在开发一个应用程序 我需要在 iPhone 中提供类似 Notes App 的功能 如第一个屏幕截图所示 最初 笔记在内容开始之前留下一个选项卡 我也想做同样的事情 当我设置时左侧内容插图 UITextView 到 25 时 它显示如屏
  • 是否可以使“type”的输出返回不同的类?

    所以免责声明 这个问题 https stackoverflow com questions 56879033 how do i override type method in python object noredirect 1 comme
  • Python/Tkinter:Tkinter StringVar(IntVar 等)线程安全吗?

    Tkinter StringVar IntVar FloatVar 等 线程安全吗 后台线程可以读取或写入这些对象吗 或者我必须使用队列在后台线程和主 Tkinter GUI 线程之间传递信息 并让我的主 Tkinter 线程弹出队列并相应
  • .NET 桌面应用程序的最佳崩溃报告框架? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我有几个简单的 Windows 窗体应用程序 我想向其中添加崩溃报告 可以为我提供有关用户计算机 当然
  • Serilog不将日志输出到txt文件中

    我使用 dotnet 工作服务 net 5 我集成了 Serilog 以及浓缩器和接收器 但由于某种原因 我在文件日志中看不到任何输出 这是我的 appsettings json ConnectionStrings DefaultConne
  • 使用数组和对象将多个值插入到雪花表中

    我试图使用数组和结构插入多行 通过 SQL 语句转换为 Snowflake 要将值数组插入到列中 我正在使用ARRAY CONSTUCT函数并插入我正在使用的结构 字典 对象OBJECT CONSTRUCT功能 E g insert int
  • 新版本上传到 iTunes Connect 后消失

    我正在尝试使用 Xcode 8 将构建版本上传到 iTunesConnect Xcode 显示上传成功 在 iTunesConnect 的 活动 选项卡中 我看到我的构建出现了 并且被标记为 正在处理 但几分钟后 这个构建就消失了 我在任何
  • 对 CountedCompleter 的文档和来源感到困惑

    这是一个代码片段java util concurrent CountedCompleter类 JDK 1 8 0 25 If the pending count is nonzero decrements the count otherwi
  • 使用 JodaTime 自动将秒转换为年/日/小时/分钟?

    当 x 超过 3600 秒时 有没有办法将 x 秒转换为 y 小时和 z 秒 同样 当x超过60但小于3600秒时 使用JodaTime 将其转换为 a分b秒 我知道我必须在 periodFormatter 中指定我需要的内容 但我不想指定