使用内置的本地化格式

如果这是为了向用户显示一天中的某个时间,那么在20个中的至少19个中,您无需关心DateTimeFormatter、hh或H。我建议您使用类似以下内容的方法:

DateTimeFormatter defaultTimeFormatter

= DateTimeFormatter.ofLocalizedTime(FormatStyle.SHORT);

System.out.format("%s: %s%n",

Locale.getDefault(), LocalTime.MIN.format(defaultTimeFormatter));

关键是它在不同的默认语言环境中提供了不同的输出。 例如:

DateTimeFormatter

本地化格式的设计符合不同文化的期望。 因此,它们通常为用户提供更好的体验,并且省去了编写格式模式字符串的麻烦,因为它总是容易出错。

此外,我建议您不要使用DateTimeFormatter。该课程非常麻烦,而且很幸运,已经过时了。 相反,我使用了Java.time,这是现代的Java日期和时间API。 与它一起工作要好得多。

四个小时的字母:H,h,k和K

当然,如果您需要解析具有指定格式的字符串,并且还有非常特殊的格式要求,则最好使用格式模式字符串。 实际上,有四个小时的字母可供选择(从文档中引用):

Symbol Meaning Presentation Examples

------ ------- ------------ -------

h clock-hour-of-am-pm (1-12) number 12

K hour-of-am-pm (0-11) number 0

k clock-hour-of-day (1-24) number 24

H hour-of-day (0-23) number 0

实际上,使用了DateTimeFormatter和hh。 据我所知,不是H和HH(为完整起见,它们可能只是包含在内)。 但是,让我们看看它们都在起作用:

DateTimeFormatter timeFormatter

= DateTimeFormatter.ofPattern("hh:mm a HH:mm kk:mm KK:mm a", Locale.ENGLISH);

System.out.println(LocalTime.of(0, 0).format(timeFormatter));

System.out.println(LocalTime.of(1, 15).format(timeFormatter));

System.out.println(LocalTime.of(11, 25).format(timeFormatter));

System.out.println(LocalTime.of(12, 35).format(timeFormatter));

System.out.println(LocalTime.of(13, 40).format(timeFormatter));

DateTimeFormatter

如果您不希望前导零,则只需指定一个模式字母,即DateTimeFormatter而不是hh或H而不是HH。解析时它仍将接受两位数字,并且要打印的数字大于9时,两位 数字仍将被打印。

链接

Oracle教程:Date Time说明如何使用java.time。

DateTimeFormatter的文档。

java键入时间hhmm_日期-SimpleDateFormat上的Java HH:mm和hh:mm之间的差异相关推荐

  1. java键入时间hhmm_最简单的时间格式类SimpleDateFormat

    最简单的时间格式类 import java.lang.*; import java.text.*; import java.util.*; public class timeformat{ publi ...

  2. Java 记录(3) java 时间格式化:SimpleDateFormat 函数 :java 获取当前时间

    Java 记录(3) java 时间格式化:SimpleDateFormat 函数 :java 获取当前时间 初 代码: 运行结果 初 希望能写一些简单的教程和案例分享给需要的人 代码: packag ...

  3. Java中的时间和日期(上)

    自从JDK 1.0开始,Java就提供了Date来处理时间和日期,作为老古董自然有很多东西是过时的.然后出现了Calendar来解决了很多问题,但是Calendar使用比较复杂,并且有些反人类的地方. ...

  4. java final date_Java中的时间和日期(上)

    自从JDK 1.0开始,Java就提供了Date来处理时间和日期,作为老古董自然有很多东西是过时的.然后出现了Calendar来解决了很多问题,但是Calendar使用比较复杂,并且有些反人类的地方. ...

  5. Java 8时间和日期API 20例

    本文由  ImportNew -  Sandy 翻译自  javarevisited.欢迎加入 翻译小组.转载请见文末要求. 伴随lambda表达式.streams以及一系列小优化,Java 8 推出 ...

  6. linux java mail 时间,Javamail在Windows上工作,而不是在Linux上

    因此,简单的非加密的无附件电子邮件在Linux和Windows中都可以使用. 当我尝试发送附件或使用TLS加密发送电子邮件时,javamail会在Linux上崩溃,而不是在Windows上崩溃. Tr ...

  7. java对象如何保存日期_如何在Java中的日期对象中存储和检索毫秒?

    我正在制作一个读取字幕(.srt)文件的基本Java程序,我想将每次存储为Date对象.我真的只需要跟踪小时,分钟,秒和毫秒(到3位数).我想我能用这个存储它: String start = &quo ...

  8. 银河麒麟配置java环境_中标麒麟系统上安装Java、Eclipse指南.doc

    中标麒麟系统上安装Java环境指南 Java_NeoKylin_Install_Guide 2015-01-12 修订记录 序号 版本号 日期 修订人 摘要 1 1.0 目录Content 概述 -- ...

  9. java程序员 ipad_‎App Store 上的“JAVA程序员自学编程”

    *****Java程序员的给力助手***** -----本应用是一款java程序员自学参考手册,内容涵盖了所有java自学入门教程.高级教程以及数十道java经典面试题及代码答案,十分适合java开发 ...

最新文章

  1. Linux shell 学习笔记(6)— vim 编辑器使用方法及技巧
  2. COLLATE 函数
  3. 数字化如何影响药物开发
  4. WINDOWS和LINUX下带时间的PING包监控脚本
  5. Windows系统下nodejs、npm、express的下载和安装教程详解
  6. NN如何在表格数据中战胜GBDT类模型
  7. ZOJ Monthly, November 2012
  8. 一文讲清,MySQL如何解决多事务并发问题
  9. HTML源码-网页123算数题小游戏源码
  10. php下的ssm模式,编码风格:Mvc模式下SSM环境,代码分层管理
  11. Javascript 笔记与总结(1-3)arguments
  12. 如何修复最常见的 macOS 11 Big Sur 问题?
  13. java http下载_java http下载文件
  14. MOSSE 相关滤波器详解
  15. 博弈论模型——Part 2 Part 3
  16. 链表-链表中环的入口结点
  17. 兔子、狼、狐狸、王八
  18. demonstration记忆_记忆英语单词方法20种
  19. python爬虫爬拼多多销量_Python爬取各大汽车销量信息
  20. 前端开发中,js时间与时间戳的转换

热门文章

  1. 必看:华为云服务器选择注意事项
  2. 【网络安全】系统安全与内容安全(二)(复习用)
  3. python微信搭建_python搭建微信公众平台
  4. 在家赚钱的工作,这五种比较适合在家操作!
  5. IDEA中设置python解释器(不同虚拟环境)
  6. Android操作系统版本代号与对应的targetSdkVersion
  7. 操作系统Android的特点.,安卓操作系统有哪些特点?
  8. car-evaluation/逻辑回归
  9. 成功把Ubuntu安装到U盘完整教程!
  10. 告别艺术品造假—国外研究人员用AI进行名画鉴定