java 获取北京的时间戳
时间: 2023-09-12 18:09:19 浏览: 102
您可以使用以下代码获取北京的当前时间戳:
```javaimport java.time.*;
import java.util.*;
public class Main {
public static void main(String[] args) {
// 获取当前时间 LocalDateTime now = LocalDateTime.now();
// 设置时区为北京 ZoneId zoneId = ZoneId.of("Asia/Shanghai");
// 转换为北京时区的时间 ZonedDateTime beijingTime = now.atZone(zoneId);
// 获取时间戳 long timestamp = beijingTime.toInstant().toEpochMilli();
System.out.println("北京时间戳:" + timestamp);
}
}
```
运行上述代码,将会输出当前北京的时间戳。
相关问题
java获取当前时刻北京时间的整点时间戳
Java获取当前时刻北京时间的整点时间戳可以通过以下步骤实现:
1. 获取当前时刻的北京时间。可通过如下代码实现:
```
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
formatter.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai"));
String dateString = formatter.format(new Date());
```
2. 将北京时间转换为整点时间。可通过如下代码实现:
```
String hour = dateString.substring(11, 13);
String newDateString = dateString.substring(0, 11) + hour + ":00:00";
```
3. 将整点时间转换为时间戳。可通过如下代码实现:
```
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
df.setTimeZone(TimeZone.getTimeZone("GMT+8"));
long timestamp = 0;
try {
timestamp = df.parse(newDateString).getTime() / 1000;
} catch (ParseException e) {
e.printStackTrace();
}
```
最终,得到的timestamp即为北京时间的整点时间戳。
java获取当天0时0分0秒的秒级时间戳
你可以使用Java 8的LocalDate类和LocalDateTime类来获取当天的0时0分0秒的秒级时间戳。可以按照以下步骤进行操作:
1. 获取当前日期:LocalDate today = LocalDate.now();
2. 将时间设置为当天的0时0分0秒:LocalDateTime startTime = today.atStartOfDay();
3. 获取秒级时间戳:long timestamp = startTime.toEpochSecond(ZoneOffset.of("+8"));
其中,ZoneOffset指定了时区,这里使用了东八区(北京时间)的偏移量。
完整代码示例:
```
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.ZoneOffset;
public class Main {
public static void main(String[] args) {
LocalDate today = LocalDate.now();
LocalDateTime startTime = today.atStartOfDay();
long timestamp = startTime.toEpochSecond(ZoneOffset.of("+8"));
System.out.println(timestamp);
}
}
```
阅读全文