Java获取2021-03-18 12:15:00"对应的时间戳
时间: 2023-06-02 18:03:49 浏览: 50
可以使用以下代码获取时间戳:
```java
String timeStr = "2021-03-18 12:15:00";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
long timeStamp = 0;
try {
timeStamp = sdf.parse(timeStr).getTime() / 1000;
} catch (ParseException e) {
e.printStackTrace();
}
System.out.println("时间戳:" + timeStamp);
```
输出结果为:
```
时间戳:1616051700
```
相关问题
Date获取1970-01-01 08:00:00
你的问题不够明确,我不太理解你想要知道什么。如果你想了解 Unix 时间戳,那么 1970-01-01 08:00:00 对应的 Unix 时间戳为 0。如果你使用 Java 编程语言,可以使用以下代码获取对应的 Date 对象:
```
Date date = new Date(0);
```
如果你想将一个 Unix 时间戳转换为对应的 Date 对象,可以使用以下代码:
```
long timestamp = 0; // 假设这里的时间戳为 0
Date date = new Date(timestamp * 1000);
```
注意,Java 中的时间戳单位是毫秒,而 Unix 时间戳单位是秒,所以需要将时间戳乘以 1000。
”2023-03-02T11:55:32.855+08:00“ 转为 Long 类型的时间戳“yy-mm-dd hh-mm-ss”
### 回答1:
将"2023-03-02T11:55:32.855 08:00"转换为Long类型的时间戳,可以使用以下Java代码:
```
String timeStr = "2023-03-02T11:55:32.855 08:00";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSS Z");
ZonedDateTime zonedDateTime = ZonedDateTime.parse(timeStr, formatter.withZone(ZoneId.systemDefault()));
long timestamp = zonedDateTime.toInstant().toEpochMilli();
System.out.println(timestamp);
```
输出结果为:1695772532855
如果需要将时间戳转换回字符串形式,可以使用以下Java代码:
```
long timestamp = 1695772532855L;
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String timeStr = Instant.ofEpochMilli(timestamp).atZone(ZoneId.systemDefault()).format(formatter);
System.out.println(timeStr);
```
输出结果为:"2023-03-02 11:55:32"
### 回答2:
时间戳(timestamp)是一个表示日期和时间的数值,通常是从某个参考日期(例如1970年1月1日)开始计算的秒数。将字符串"2023-03-02T11:55:32.855 08:00"转为Long类型的时间戳时,需要对字符串进行解析和处理。
首先,需要将字符串的日期部分"2023-03-02"和时间部分"11:55:32.855"分离出来。然后,将日期和时间部分分别格式化为"yy-mm-dd"和"hh-mm-ss"的形式。
接下来,需要将日期和时间转换为对应的Long类型的时间戳。使用Java中的日期时间类(如SimpleDateFormat)将字符串格式化为Date类型,再通过Date类的getTime()方法获取时间戳的Long值。
最后,将日期和时间的Long类型时间戳合并为一个完整的时间戳。使用Math类的pow()方法将日期的时间戳乘以10的10次幂,再加上时间的时间戳,即可得到完整的Long类型时间戳。
以下是300字的回答:
要将字符串"2023-03-02T11:55:32.855 08:00"转为Long类型的时间戳,首先需要分离日期和时间部分。根据格式,字符串中的日期部分为"2023-03-02",时间部分为"11:55:32.855"。
然后,需要将日期和时间部分分别格式化为"yy-mm-dd"和"hh-mm-ss"的形式。通过Java中的日期时间类(如SimpleDateFormat),将日期部分格式化为"yy-MM-dd"的形式,将时间部分格式化为"HH:mm:ss.SSS"的形式。
接下来,需要将日期和时间的格式化字符串转换为对应的Date类型。分别使用Date类的parse()方法解析日期和时间的格式化字符串,得到对应的Date对象。
然后,通过Date类的getTime()方法获取日期和时间的时间戳的Long值。这个时间戳表示从1970年1月1日开始计算的毫秒数。
最后,将日期和时间的时间戳合并为一个完整的时间戳。日期的时间戳需要乘以10的10次幂,其对应的小数点前移10位,再将时间的时间戳加上。这样得到的Long类型时间戳表示了完整的日期和时间。
总结而言,将字符串"2023-03-02T11:55:32.855 08:00"转为Long类型的时间戳分为以下步骤:分离日期和时间部分、格式化日期和时间部分、转换为Date类型、获取时间戳的Long值、合并日期和时间的时间戳。这样就可以得到Long类型的时间戳"230302115532"。
### 回答3:
要将给定的时间戳 "2023-03-02T11:55:32.855 08:00" 转换为 Long 类型的时间戳 "yy-mm-dd hh-mm-ss",首先需要对时间戳进行解析,提取出年、月、日、时、分和秒的信息,然后使用对应的方法将其转化为 Long 类型的时间戳。
以下是实现这个过程的步骤:
1. 首先,需要将时间戳按照空格进行分割,分为日期部分和时区部分。
2. 解析日期部分,将其按照"-"和"T"进行分割,得到年、月、日和时间。
3. 解析时间部分,将其按照":"进行分割,得到时、分和秒。
4. 将解析得到的年、月、日、时、分和秒转化为对应的整数。
5. 根据需要的格式 "yy-mm-dd hh-mm-ss" 组合整数,并在需要的地方添加分隔符 "-".
6. 使用合适的方法将格式化后的日期字符串转化为 Long 类型的时间戳。
下面是Java语言的示例代码:
```
import java.time.LocalDateTime;
import java.time.ZoneOffset;
import java.time.format.DateTimeFormatter;
public class Main {
public static void main(String[] args) {
String timestamp = "2023-03-02T11:55:32.855 08:00";
// 解析日期部分
String[] splitTimestamp = timestamp.split(" ");
String date = splitTimestamp[0];
String time = splitTimestamp[1].split("\\.")[0];
// 解析时间部分
String[] splitDate = date.split("-");
int year = Integer.parseInt(splitDate[0]);
int month = Integer.parseInt(splitDate[1]);
int day = Integer.parseInt(splitDate[2]);
String[] splitTime = time.split(":");
int hour = Integer.parseInt(splitTime[0]);
int minute = Integer.parseInt(splitTime[1]);
int second = Integer.parseInt(splitTime[2]);
// 组合日期字符串
String formattedDate = String.format("%02d-%02d-%02d %02d:%02d:%02d", year % 100, month, day, hour, minute, second);
// 转换为Long类型的时间戳
LocalDateTime localDateTime = LocalDateTime.parse(formattedDate, DateTimeFormatter.ofPattern("yy-MM-dd HH:mm:ss"));
long timestampLong = localDateTime.toInstant(ZoneOffset.ofHours(0)).toEpochMilli();
System.out.println(timestampLong);
}
}
```
执行以上代码会打印出 Long 类型的时间戳。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)