草庐IT

Timezone

全部标签

java - 使用 DateFormat.getDateTimeInstance().format(date);

在运行一些测试时,我遇到了以下问题。使用时:privateStringprintStandardDate(Datedate){returnDateFormat.getDateTimeInstance(DateFormat.SHORT,DateFormat.SHORT).format(date);}我发现这会产生不同格式的日期,具体取决于运行测试的位置。所以在windows/eclipse本地我得到了一个结果:04/02/1218:18但在美国的Linux机器上我得到了2/4/126:18PM这会导致我的测试/构建失败:expected:butwas:谁能解释一下这种行为?

用于多时区应用程序的 java 日历、日期和时间管理

我正在设计一个日程安排网络应用程序。我希望用户在几个不同的时区和语言环境中添加事件。挑战在于正确呈现这些事件。举个例子:如果用户处于EST时区并且正在查看由另一个用户在PST中添加的网络研讨会事件,我想将事件的实际PST时间转换为本地时间以供查看者使用。因此,如果事件安排在太平洋标准时间下午2点,那么它应该显示为美国东部标准时间下午5点。我还想注意,如果有数千个事件可能需要将实际事件时间转换为查看者的本地时间,那么性能不会受到影响。感谢所有想法和评论。时间差 最佳答案 一般来说,安排future事件是一个复杂的主题。您必须区分要安排

java - Android 中的时区问题

我的时间以毫秒为单位,我在我的应用程序中以"MM/dd/yyyyHH:mm:ss"格式显示该时间,它工作正常。问题:如果我更改android设备中的时区,它在我的应用程序中显示不同的时间可能是因为某些时区计算。我想同时显示我的数据库中的时间和任何时区中的时间。我正在使用下面的代码来测试时区问题Localelocale=newLocale("en","IN");TimeZonetz=TimeZone.getDefault();System.out.println("Defaulttimezonid::"+tz.getID());tz.setID("Asia/Calcutta");Stri

java - 将字符串转换为 'Instant'

我正在尝试使用Java8或实用程序包将字符串中的日期时间转换为Instant实例。例如,StringrequestTime="04:30PM,Sat5/12/2018";到InstantreqInstantshouldresultin2018-05-12T20:30:00.000ZreqString在America/Toronto中时区。这是我尝试过的StringstrReqDelTime="04:30PM,Sat5/12/2018";Datedate=newSimpleDateFormat("hh:mma,EEEMM/dd/yyyy").parse(requestTime);Inst

java - 指定 log4j 日期的时区

是否可以指定log4j将使用的时区?我需要日志文件中的日期与应用程序的时区不同。log4j的PatternLayout使用SimpleDateFormat。不幸的是,似乎没有一种方法可以通过模式字符串控制SimpleDateFormat的时区(DateFormat有setTimeZone方法,但它没有帮助)。我查看了log4j的源代码,SimpleDateFormat正在PatternParser.finalizeConverter中实例化。不幸的是,没有一种简单的方法来获取DateFormat来设置时区。 最佳答案 如果您在类路径

java - 基于位置的时区检索

给定:LDAP存储用户的位置。我如何使用他们的位置驱动他们的时区?接受任何指针,首选Java语言。提前致谢。 最佳答案 这取决于“位置”包含的信息?您可能需要以某种方式将位置映射到时区名称,最好是Olson样式的时区名称,因为它们更详细且更容易映射,因为它们本身就是位置。如果它是一个大概的地址(如国家和城市等),那么一些地理定位服务会在其信息中包含时区,因此您可以调用这些服务并查看。如果它是具有经纬度的地理定位,那么一个名为Earthtools的网站可以为您提供时区。http://www.earthtools.org/webserv

java - 使用 Joda-Time 获取给定日期和时区的 UTC 偏移量

我有2013年1月20日、2012年8月8日等格式的日期,它们有自己的特定时区。例如,20Jan2013的时区ID可能是Australia/Melbourne,而08Aug2012的时区ID可能是Europe/London。我想要做的是,根据这些时区和日期,计算给定日期该时区的UTC偏移量。到目前为止,我已经想出了这个:DateTimeFormatterdtf=DateTimeFormat.forPattern("ZZ");DateTimeFormatterdtf1=DateTimeFormat.forPattern("ddMMMYYYY");DateTimeZonezone=Date

java - 在时区将 ZonedDateTime 转换为 LocalDateTime

我有一个ZonedDateTime的对象,它是这样构造的ZonedDateTimez=ZonedDateTime.of(LocalDate.now().atTime(11,30),ZoneOffset.UTC);如何将其转换为瑞士时区的LocalDateTime?预期结果应为2018年4月16日13:30。 最佳答案 HowcanIconvertittoLocalDateTimeattimezoneofSwitzerland?您可以将UTCZonedDateTime转换为具有瑞士时区的ZonedDateTime,但保持同一时刻的时间

java - 使用 Joda time 获取给定时区的当前挂钟时间

要求是简单地获取给定时区的当前挂钟时间(包括正确的DST调整)。在SO中似乎有几个问题围绕着这个问题徘徊,但我似乎无法找到一个直接的答案(在SO中,Jodadoco或谷歌搜索)以一种低摩擦的方式来获得墙上的时间。似乎有了给定的输入(当前UTC时间和所需的TZ),我应该能够从JodaTime库中链接几个方法来实现我想要的,但在上述示例中似乎希望评估+处理偏移量/应用程序代码中的转换——如果可能的话,我想避免这种情况,只是根据可用的静态TZ规则集使用Jodas的最大努力。为了这个问题的目的,让我们假设我不会使用任何其他第三方服务(基于网络或其他二进制文件),而只是使用JDK和JodaTim

java - 正在运行的 JVM 是否检测到计算机时区的更改?

我找不到任何具体的文档来回答这个问题。我写了一些简单的测试代码来弄清楚在OSX10.12上的Java1.8上实际发生了什么:publicstaticvoidmain(String[]_args)throwsInterruptedException{while(true){intcalendarTimezoneOffset=Calendar.getInstance().get(Calendar.ZONE_OFFSET);System.out.println("calendarTimezoneOffset="+calendarTimezoneOffset);ZoneOffsetoffset