当前位置: 首页 > 面试题库 >

如何在本地时区中将javax.time.Instant格式化为字符串?

虞俊美
2023-03-14
问题内容

如何javax.time.Instant在本地时区中将a
格式化为字符串?以下内容将本地语言转换Instant为UTC,而不是我期望的那样。删除对的调用toLocalDateTime()也是如此。我该如何获取当地时间?

public String getDateTimeString( final Instant instant )
{
    checkNotNull( instant );
    DateTimeFormatterBuilder builder = new DateTimeFormatterBuilder();
    DateTimeFormatter formatter = builder.appendPattern( "yyyyMMddHHmmss" ).toFormatter();
    return formatter.print( ZonedDateTime.ofInstant( instant, TimeZone.UTC ).toLocalDateTime() );
}

注:我们正在使用的旧版本
0.6.3
中的JSR-310参考实现。


问题答案:

在您否决我的答案之前,请注意,问题明确(以粗体显示)是指 JSR-310参考实现的旧版本 0.6.3 !在Java
8和新的日期库问世之前,我在2012年12月问了这个问题!

我放弃了对JSR-310类DateTimeFormatterZonedDateTime,而是采取了老式的java.util.Datejava.text.SimpleDateFormat

public String getDateTimeString( final Instant instant )
{
    checkNotNull( instant );
    DateFormat format = new SimpleDateFormat( "yyyyMMddHHmmss" );
    Date date = new Date( instant.toEpochMillisLong() );
    return format.format( date );
}


 类似资料:
  • 问题内容: 我正在学习将我的应用本地化为简体中文。我正在按照本教程进行操作。 因为本教程基于Obj-C,所以格式化后的字符串可以这样写: “你喜欢?” =“〜Es bueno?〜”; 但是我正在使用Swift。而且在Swift中,我认为您不能用来表示在那里放置了一些东西。我们有字符串插值对吗? 我的应用与数学有关。我想在表格视图单元格的详细标签中显示哪些输入用于计算结果。例如 此处的意思是“根据x

  • 问题内容: 我有一个名为date的LocalDate变量,当我打印它时显示1988-05-05,我需要将此变量转换为要打印为1988年5月5日。如何执行此操作? 问题答案: 如果他从Java 8中的新功能LocalDate开始,SimpleDateFormat将无法工作。从我所看到的,您将不得不使用DateTimeFormatter,http://docs.oracle.com/javase/8/

  • 我有一个LocalDate变量名为date,当我打印它时,它显示1988-05-05,我需要将它转换成05.may1988。怎么做?

  • 这个奇怪的小脚本的要点只是让我选择一个目录,并将剪贴板中的任何内容写入该路径中的文本文件。不幸的是,此路径将始终包含括号、方括号,有时还包含大括号。 由于子文件夹中的括号,我得到了以下错误消息 使用 ' 或 \ 来解释转义字符的 -replace 组合数量都不会成功。如何格式化字符串以使其解析为真实目录? 第二个问题有没有办法用更用户友好的文件浏览器对话框来选择路径,而不是不能输入或粘贴路径的文件

  • 问题内容: 我需要找出如何将数字格式化为字符串。我的代码在这里: 小时和分钟是整数,而秒是浮点数。str()函数会将所有这些数字转换为十分之几(0.1)。因此,而不是我的字符串输出“ 5:30:59.07 pm”,它将显示类似“ 5.0:30.0:59.1 pm”的内容。 最重要的是,我需要为我执行什么库/函数? 问题答案: 从Python 3.6开始,可以使用格式化的字符串文字或 f-strin

  • 问题内容: 我想用JavaScript格式化价格。我想要一个以a 作为参数并返回如下格式的函数: 最好的方法是什么? 问题答案: 好的,根据您的发言,我正在使用此功能: 我乐于接受改进建议(我不愿意仅仅为了做到这一点就不包括YUI :))我已经知道我应该检测到“”。而不只是将其用作小数点分隔符…