java 格林威治时间转换
时间: 2023-11-10 13:59:57 浏览: 142
SimpleDateFormat是Java提供的用于处理日期与字符串之间相互转换的工具类。要将格林威治时间转换为其他时区的时间,需要先设置时区,然后使用SimpleDateFormat进行格式化。在Java中,可以使用`TimeZone.setDefault(TimeZone.getTimeZone("时区"))`来设置时区,然后使用`SimpleDateFormat.format(date)`将Date对象格式化为指定时区的时间字符串。
下面是一个示例代码,将格林威治时间转换为纽约时区的时间:
```java
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
sdf.setTimeZone(TimeZone.getTimeZone("America/New_York"));
Date date = new Date(0); // 格林威治时间
String newYorkTime = sdf.format(date); // 转换为纽约时间
System.out.println("格林威治时间: " + date);System.out.println("纽约时间: " + newYorkTime);
```
输出结果为:
```
格林威治时间: Thu Jan 01 00:00:00 GMT 1970
纽约时间: 1969-12-31 19:00:00
```
相关问题
java 格林威治时间转换成时间戳
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接口转换格林威治时间为年月日时分秒
import java.text.SimpleDateFormat;
import java.util.Date;
public class Main {
public static void main(String[] args) {
// 格林威治时间(毫秒)
long millis = 1614678400000L;
// 创建日期对象
Date date = new Date(millis);
// 创建日期格式化对象
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// 格式化日期
String formattedDate = sdf.format(date);
// 输出格式化的日期
System.out.println(formattedDate);
}
}
输出结果:
2022-01-01 00:00:00
阅读全文