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

Java的BST ZoneId代表什么?

颜熙云
2023-03-14
// create Local Date Time from what I have stored in the DB

LocalDateTime dateTime1 = LocalDateTime.of(2017, Month.JUNE, 15, 15, 00);
LocalDateTime dateTime2 = LocalDateTime.of(2017, Month.JUNE, 15, 16, 00);

Instant now = Instant.now();

System.out.println (now.isAfter (dateTime1.atZone(ZoneId.of("BST", ZoneId.SHORT_IDS)).toInstant()));
System.out.println (now.isBefore(dateTime2.atZone(ZoneId.of("BST", ZoneId.SHORT_IDS)).toInstant()));

理论上现在(巴黎16:22/伦敦15:22)在伦敦dateTime1(15:00)之后,在伦敦dateTime2(16:00)之前

但我知道现在不是在那个日期之前

共有1个答案

牟嘉
2023-03-14

正如ZoneDid.short_ids的javadoc中所指出的,“BST”不是英国夏时制,而是孟加拉国标准时间(亚洲/达卡)。

您可以使用以下命令检查该值:

System.out.println(ZoneId.of("BST", ZoneId.SHORT_IDS));

所以我建议使用全时区名称以避免任何混淆:

ZoneId london = ZoneId.of("Europe/London")
 类似资料:
  • 问题内容: 什么意思 问题答案: 指定内存分配池的最大大小(以字节为单位)。此值必须是大于2 MB的1024的倍数。追加字母k或K表示千字节,或者追加m或M表示兆字节。默认值为64MB。在Solaris 7和Solaris 8 SPARC平台上,此值的上限约为4000m,在Solaris 2.6和x86平台上,该值的上限约为2000m(减去开销)。例子: 因此,简单来说,就是将Java堆内存从可用

  • 问题内容: D在什么 设置系统属性值。 在的Java应用程序启动立场?由于某种原因,它一直困扰着我,为什么是D? 问题答案: 我一直认为它是 定义 属性的值……可能是C编译器的遗留物,通常与代码中的用法相似。 编辑:目前,我对此来源最接近的是一些JDK 1.1文档 ,该文档将标志指定为: 重新定义 属性值。propertyName是要更改其值的属性的名称,而newValue是要将其更改为的值。[…

  • 问题内容: 我认为由于无法识别的转义序列而无法编译。 是什么究竟代表什么? 问题答案: 这是一个八进制转义序列,如JLS的3.10.6节中所列。因此,例如: 等效于: (因为八进制16 =十六进制E。) 因此,我们使用U + 0001,即“开始标题”字符。 根据我的经验,八进制转义序列很少在Java中使用,因此我个人会尽量避免使用它们。当我想使用数字转义序列指定字符时,我总是使用。

  • 问题内容: 我目前正在阅读Deitel的有关Java的书,并在他们的一个程序中遇到了以下代码: 如标题所示,“。2f”前面的“ $%”代表什么?我已经知道.2f是什么意思。 问题答案: 该字在这里是指没有什么特别的。它只是显示在字符串中的文字。该角色需要它的通常含义在这里-用一个值来代替(这里,有2位小数)。 请注意,字符可能在字符之后具有含义。有关详细信息,请参见javadocs 的“参数索引”

  • 问题内容: 今天在bash shell脚本中,我注意到脚本末尾的以下命令。我知道是什么,但是我不知道破折号的重要性。 这是什么意思?Google天真地将其截断,因此我找不到答案。 问题答案: 如果将单破折号指定为参数,它将替换为的值。 在被设定的命令,这是以前的工作目录。

  • 本文向大家介绍BIP代表什么?相关面试题,主要包含被问及BIP代表什么?时的应答技巧和注意事项,需要的朋友参考一下 回答:BIP代表比特币改进提案。