当前位置: 首页 > 知识库问答 >
问题:

如何将时间格式从24小时更改为12小时[重复]

卢翔宇
2023-03-14

我正在使用TextView设置日期和时间与日期名称,但时间显示在24小时,我想设置在12小时格式。

textDateTime.setText(new SimpleDateFormat("EEEE, dd MMMM yyyy HH:mm a", Locale.getDefault()).format(new Date()));

共有2个答案

督灿
2023-03-14

使用现代java.time课程。

与其硬编码格式,不如自动本地化。

LocalTime
.now()
.format(
    DateTimeFormatter.ofLocalizedTime( FormatStyle.SHORT )
)

查看此代码在IdeO上实时运行ne.com.

下午5:08

永远不要使用糟糕的DateSimpleDateFormat类。这些在几年前被JSR 310中定义的现代java.time类所取代。

您似乎想要在特定时区看到的当前时间。时区至关重要。对于任何给定时刻,一天中的时间(和日期)因时区而异。

ZoneId z = ZoneId.systemDefault() ;  // Or ZoneId.of( "America/Edmonton" )
LocalTime now = LocalTime.now( z ) ;

让java.time自动为您本地化。

Locale locale = Locale.CANADA_FRENCH ;  // Or Locale.US etc.
DateTimeFormatter f = DateTimeFormatter.ofLocalizedTime( FormatStyle.SHORT ).withLocale( locale ) ;
String output = now.format( f ) ;

java。Java 8及更高版本内置了时间框架。这些类取代了麻烦的旧遗留日期时间类,如java。util。日期、日历,

要了解更多信息,请参阅Oracle教程。并搜索堆栈溢出以获得许多示例和解释。规范为JSR 310。

现在处于维护模式的Joda-Time项目建议迁移到java.time类。

您可以直接与数据库交换java.time对象。使用符合JDBC 4.2或更高版本的JDBC驱动程序。不需要字符串,不需要java.sql.*类。Hibernate 5

从哪里获得java.time课程?

  • JavaSE 8、JavaSE 9、JavaSE 10、JavaSE 11及更高版本-标准JavaAPI的一部分,具有捆绑实现。
    • Java9带来了一些小功能和修复。
    • 大部分java。时间功能后移植到Java 6
    • 更高版本的Android(26)捆绑了java.time类的实现。
    • 对于早期的Android(

尹兴生
2023-03-14

这是关于您在使用HH(24小时)时输入的格式。尝试hh(12小时格式)。参见相关答案或文档。

 类似资料:
  • 问题内容: 在我的应用程序中,我想将给定的CDT格式的24小时字符串转换为CDT格式的12小时的字符串,如何将给定的24小时格式的字符串转换为12小时的格式的字符串? 问题答案: 您可以尝试使用对象转换时间格式。 这是SimpleDateFromat 的javadoc 链接。

  • 我有一个GMT时间格式,我通过使用以下方式将其更改为我的本地浏览器时间: 输出为: 现在我想在中将12小时格式更改为24小时格式 示例: 有什么建议吗? 谢谢

  • 问题内容: sql server 2000表之一中具有以下格式的日期值 如何将上述格式的数据值转换为24小时日期格式,如下所示 问题答案: 试试这个: 首先将日期转换为,然后您可以按以下方式进行操作:

  • 当我在javascript中使用“getHour()”方法时,它会显示军事时间格式。我需要它以1-12之间的数字显示小时。有人能告诉我怎么做吗?以下是我使用的代码:

  • 问题内容: 我有以下24小时工作时间: 如何将其转换为12小时? 我想智能转换到与到。我可以使用自己的逻辑来执行操作,但是有没有办法在没有…的情况下智能地执行此操作? 问题答案:

  • 问题内容: 您好,我正在使用一个android应用程序,我试图弄清楚如何将24小时转换为12小时。 问题答案: 尝试使用: