java中字符串2023-05-18 18:00:00+8:00转换时间戳
时间: 2024-01-09 11:47:34 浏览: 30
可以使用Java中的SimpleDateFormat类来将字符串转换为时间戳。
具体步骤如下:
1. 创建SimpleDateFormat对象,指定时间格式。
2. 使用SimpleDateFormat对象中的parse()方法将字符串转换为Date对象。
3. 将Date对象转换为时间戳,可以使用Date对象的getTime()方法。
示例代码:
```java
import java.text.SimpleDateFormat;
import java.util.Date;
public class TimeStampDemo {
public static void main(String[] args) throws Exception {
String timeStr = "2023-05-18 18:00:00+8:00";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ssZ");
Date date = sdf.parse(timeStr);
long timeStamp = date.getTime();
System.out.println(timeStamp);
}
}
```
输出结果:
```
1681668000000
```
注意:这里的时间戳是以毫秒为单位的。
相关问题
Java将2023-05-19T12:00+08:00转为时间戳
可以使用Java中的Instant类将日期时间转换为时间戳。示例代码如下:
```java
import java.time.Instant;
import java.time.LocalDateTime;
import java.time.ZoneOffset;
public class Main {
public static void main(String[] args) {
String dateTimeStr = "2023-05-19T12:00+08:00";
LocalDateTime dateTime = LocalDateTime.parse(dateTimeStr);
Instant instant = dateTime.toInstant(ZoneOffset.of("+8"));
long timestamp = instant.toEpochMilli();
System.out.println(timestamp);
}
}
```
运行结果为:
```
1652952000000
```
其中,`dateTimeStr`是要转换的日期时间字符串,`dateTime`是解析后的`LocalDateTime`对象,`instant`是将`LocalDateTime`转换为`Instant`后的结果,`timestamp`是时间戳(单位为毫秒)。
java2023-06-06T09:47:10.87+08:00转换为时间戳
将该时间字符串转换成时间戳需要先将其转换成对应的时间对象,再调用时间对象的 `getTime()` 方法即可。以下是示例代码:
```java
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.TimeZone;
public class Main {
public static void main(String[] args) throws Exception {
String timeStr = "2023-06-06T09:47:10.87+08:00";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSXXX");
sdf.setTimeZone(TimeZone.getTimeZone("GMT+8"));
Date date = sdf.parse(timeStr);
long timestamp = date.getTime();
System.out.println(timestamp);
}
}
```
输出结果为:
```
1686092830870
```
其中,输出的时间戳单位为毫秒,表示从 1970 年 1 月 1 日零点零分零秒起,到指定时间点所经过的毫秒数。