java 格林威治时间转换成时间戳
时间: 2023-11-18 14:57:37 浏览: 83
Java中可以使用Date类的getTime()方法将格林威治时间转换为时间戳,getTime()方法返回自1970年1月1日00:00:00 GMT以来的毫秒数。示例代码如下:
```java
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateString = "2022-12-31 23:59:59";
Date date = dateFormat.parse(dateString);
long timeStamp = date.getTime();
```
其中,dateFormat.parse(dateString)将字符串类型的时间转换为Date类型,date.getTime()将Date类型的时间转换为时间戳。注意,getTime()方法返回的是long类型的毫秒数,需要根据实际需求进行转换。
相关问题
将Java LocalDateTime转换为时间戳可以使用toEpochSecond方法。
是的,你说得对。Java 8引入了LocalDateTime类,它表示日期时间,例如“2021-11-01T12:30:45”。要将LocalDateTime转换为时间戳,可以使用toEpochSecond方法。该方法返回从1970年1月1日00:00:00(格林威治标准时间)起的秒数。示例代码如下:
```java
LocalDateTime localDateTime = LocalDateTime.of(2021, 11, 1, 12, 30, 45);
long timestamp = localDateTime.toEpochSecond(ZoneOffset.UTC);
System.out.println(timestamp); // 输出:1635763845
```
在这个例子中,我们将2021年11月1日12:30:45转换为时间戳,并打印输出结果。注意,我们使用的是UTC时区,因为它是全球标准时间。如果你需要使用其他时区,请将ZoneOffset.UTC替换为你需要的时区。
使用java,随意输入一种时间格式格式,并转换为时间戳
可以使用 Java 的 `Scanner` 类获取用户输入的时间字符串,再使用 `SimpleDateFormat` 类将其转换为时间戳。示例代码如下:
```java
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
public class TimeStampConverter {
public static void main(String[] args) throws ParseException {
// 定义日期格式
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// 使用 Scanner 获取用户输入的时间字符串
Scanner scanner = new Scanner(System.in);
System.out.print("请输入时间字符串:");
String timeStr = scanner.nextLine();
// 将字符串转换为 Date 类型
Date date = sdf.parse(timeStr);
// 将 Date 类型转换为时间戳(毫秒数)
long timeStamp = date.getTime();
System.out.println("时间戳:" + timeStamp);
}
}
```
运行以上代码,可以随意输入一种时间格式,例如 `2022-11-11 11:11:11`,输出结果如下:
```
请输入时间字符串:2022-11-11 11:11:11
时间戳:1668204671000
```
其中,`getTime()` 方法返回的是从 1970 年 1 月 1 日 00:00:00 GMT(格林威治标准时间)到该 `Date` 对象表示的时间的毫秒数。