猿问

如何在 Java 中使用 TimeZone 获取当前时间戳

我想在Android中timeStamp考虑TimeZoneJava,我尝试了很多方法,但仍然找不到解决方案。



RISEBY
浏览 443回答 4
4回答

一只名叫tom的猫

博士使用java.time包中的ZoneId&ZonedDateTime类。ZonedDateTime.now()  // Implicitly applies the JVM’s current default time zone.最好明确指定您想要/预期的时区。ZonedDateTime.now(     ZoneId.of( "Africa/Tunis" ) )java.time现代方法使用java.time类,这些类在几年前取代了可怕的遗留类,例如Timestamp、Calendar、Date、TimeZone和SimpleDateFormat。以、或等格式指定适当的时区名称。永远不要使用 2-4 个字母的缩写,例如或因为它们不是真正的时区,不是标准化的,甚至不是唯一的(!)。Continent/RegionAmerica/MontrealAfrica/CasablancaPacific/AucklandESTISTZoneId z = ZoneId.of( "America/Montreal" ) ;通过特定地区(上述时区)的人们使用的挂钟时间捕捉当前时刻。ZonedDateTime zdt = ZonedDateTime.now( z ) ;

守着一只汪

您可以使用此方法获取带有时区的时间戳:public static long getTimestampWithGMT() {    long timestamp = System.currentTimeMillis() / 1000;    int offset = (TimeZone.getDefault().getRawOffset() + TimeZone.getDefault().getDSTSavings()) / 1000;    return timestamp + offset;}

缥缈止盈

您可以使用 Calendar.getInstance().getTimeInMillis()?它默认为设备时区,或者如果您想更改时区,您可以执行以下操作Calendar calendar = Calendar.getInstance();calendar.setTimeZone(TimeZone.getTimeZone("America/Los_Angeles"));calendar.getTimeInMillis();

心有法竹

您可以使用 Calendar 类来获取当前时间戳。然后您可以格式化此时间戳以显示日期、日、月、年、时间等。Calendar c = Calendar.getInstance();
随时随地看视频慕课网APP

相关分类

Java
我要回答