java中utc时间怎么转换为本地时间?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中utc时间怎么转换为本地时间?相关的知识,希望对你有一定的参考价值。

java utc转本地时间的方法:
1、创建一个格式化时间对象simpleDateFormat,并初始化格式yyyy-MM-dd HH:mm:ss:
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
2、创建时区对象utcZone,获取utc所在的时区
TimeZone utcZone = TimeZone.getTimeZone("UTC");
3、设置utc时区,为转换做准备
simpleDateFormat.setTimeZone(utcZone);
4、获取本地时间,并转换
Date myDate = simpleDateFormat.parse(rawQuestion.getString("AskDateTime"));
5,按照上面的流程就转换本地时间了。
参考技术A 百度本来就有的回答。。。。
若要将 UTC 转换为本地时间,请按照下列步骤操作:
确定您的本地时间偏移量,从 UTC 时间。为此请 Microsoft 基于 Windows 的计算机上按照下列步骤操作:
单击 开始,单击 运行,键入 timedate.cpl,然后单击 确定。
单击 时区 选项卡,然后验证选中了您的本地时区。 如果不选择您的本地时区,则请在可用的时区的列表中单击它。

在每个本地区域列表项开始时显示本地时间偏移量。例如对于-5: 00 是本地时间偏移量为东部时间 (美国和加拿大):
(GMT-5:00) 东部时间 (美国和加拿大)
添加本地时间偏移量为 UTC 时间。

例如您的本地时间偏移量是-5: 00,然后如果 UTC 时间显示为 11: 00,添加-5 到 11。偏移量的调整时该时间设置为 06: 00 (上午 6: 00)。

注意 该日期也采用 UTC 格式。例如您的本地时间偏移量是-8: 00,并且如果该文件的 UTC 时间显示为 00: 00 (午夜 12: 00) 在星期一,调整后的时间是 16: 00 星期日 (下午 4: 00,星期日)。
调整为夏时制时间。

UTC 时间不以反映夏令时进行调整。 如果您的时区参与夏时制时间,添加当夏时制时间是有效的文件的偏移量调整时间的时间差别。例如对于如果在您的时区中的夏令时的标准时间提前一小时,将 1 小时的时间添加到偏移量调整时间。
如果您的本地时间使用 12 小时格式,请将 24 小时时间格式转换为 12 小时时间格式。要在转换请按照下列步骤操作,请执行以下操作:
如果偏移量调整的时间 12: 01 和 23: 59,(含) 之间,之间减去 12 从在调整后的时间,然后将附加 下午
如果已调整的时间介于 00: 01 和 11: 59,(含) 之间,留在调整后的时间为是,然后将附加 上午
如果已调整的时间 00: 00,则使用 午夜 12: 00。
如果已调整的时间 12: 00,使用 中午 12: 00。

此内容转的,出处:
http://zhidao.baidu.com/question/456035592650368645.html
参考技术B utc毫秒值是个绝对值,和时区无关。如果需要转换为对应时区的时间表示,可以使用java.text.DateFormat的setTimeZone(timeZone)之后,进行format本回答被提问者采纳

如何将UTC时间转化为本地时间

若要将 UTC 转换为本地时间,请按照下列步骤操作:
确定您的本地时间偏移量,从 UTC 时间。为此请 Microsoft 基于 Windows 的计算机上按照下列步骤操作:
单击 开始,单击 运行,键入 timedate.cpl,然后单击 确定。
单击 时区 选项卡,然后验证选中了您的本地时区。 如果不选择您的本地时区,则请在可用的时区的列表中单击它。

在每个本地区域列表项开始时显示本地时间偏移量。例如对于-5: 00 是本地时间偏移量为东部时间 (美国和加拿大):
(GMT-5:00) 东部时间 (美国和加拿大)
添加本地时间偏移量为 UTC 时间。

例如您的本地时间偏移量是-5: 00,然后如果 UTC 时间显示为 11: 00,添加-5 到 11。偏移量的调整时该时间设置为 06: 00 (上午 6: 00)。

注意 该日期也采用 UTC 格式。例如您的本地时间偏移量是-8: 00,并且如果该文件的 UTC 时间显示为 00: 00 (午夜 12: 00) 在星期一,调整后的时间是 16: 00 星期日 (下午 4: 00,星期日)。
调整为夏时制时间。

UTC 时间不以反映夏令时进行调整。 如果您的时区参与夏时制时间,添加当夏时制时间是有效的文件的偏移量调整时间的时间差别。例如对于如果在您的时区中的夏令时的标准时间提前一小时,将 1 小时的时间添加到偏移量调整时间。
如果您的本地时间使用 12 小时格式,请将 24 小时时间格式转换为 12 小时时间格式。要在转换请按照下列步骤操作,请执行以下操作:
如果偏移量调整的时间 12: 01 和 23: 59,(含) 之间,之间减去 12 从在调整后的时间,然后将附加 下午
如果已调整的时间介于 00: 01 和 11: 59,(含) 之间,留在调整后的时间为是,然后将附加 上午
如果已调整的时间 00: 00,则使用 午夜 12: 00。
参考技术A 若要将 UTC 转换为本地时间,请按照下列步骤操作:
确定您的本地时间偏移量,从 UTC 时间。为此请 Microsoft 基于 Windows 的计算机上按照下列步骤操作:
单击 开始,单击 运行,键入 timedate.cpl,然后单击 确定。
单击 时区 选项卡,然后验证选中了您的本地时区。 如果不选择您的本地时区,则请在可用的时区的列表中单击它。

在每个本地区域列表项开始时显示本地时间偏移量。例如对于-5: 00 是本地时间偏移量为东部时间 (美国和加拿大):
(GMT-5:00) 东部时间 (美国和加拿大)
添加本地时间偏移量为 UTC 时间。

例如您的本地时间偏移量是-5: 00,然后如果 UTC 时间显示为 11: 00,添加-5 到 11。偏移量的调整时该时间设置为 06: 00 (上午 6: 00)。

注意 该日期也采用 UTC 格式。例如您的本地时间偏移量是-8: 00,并且如果该文件的 UTC 时间显示为 00: 00 (午夜 12: 00) 在星期一,调整后的时间是 16: 00 星期日 (下午 4: 00,星期日)。
调整为夏时制时间。

UTC 时间不以反映夏令时进行调整。 如果您的时区参与夏时制时间,添加当夏时制时间是有效的文件的偏移量调整时间的时间差别。例如对于如果在您的时区中的夏令时的标准时间提前一小时,将 1 小时的时间添加到偏移量调整时间。
如果您的本地时间使用 12 小时格式,请将 24 小时时间格式转换为 12 小时时间格式。要在转换请按照下列步骤操作,请执行以下操作:
如果偏移量调整的时间 12: 01 和 23: 59,(含) 之间,之间减去 12 从在调整后的时间,然后将附加 下午
如果已调整的时间介于 00: 01 和 11: 59,(含) 之间,留在调整后的时间为是,然后将附加 上午
如果已调整的时间 00: 00,则使用 午夜 12: 00。
参考技术B UTC时间转换为本地时间的方法,其他的时区转换与此类似。

public static String utc2Local(String utcTime, String utcTimePatten,
String localTimePatten)
SimpleDateFormat utcFormater = new SimpleDateFormat(utcTimePatten);
utcFormater.setTimeZone(TimeZone.getTimeZone("UTC"));
Date gpsUTCDate = null;
try
gpsUTCDate = utcFormater.parse(utcTime);
catch (ParseException e)
e.printStackTrace();

SimpleDateFormat localFormater = new SimpleDateFormat(localTimePatten);
localFormater.setTimeZone(TimeZone.getDefault());
String localTime = localFormater.format(gpsUTCDate.getTime());
return localTime;

以上是关于java中utc时间怎么转换为本地时间?的主要内容,如果未能解决你的问题,请参考以下文章

Java:如何将 UTC 时间戳转换为本地时间?

java 使用日历从Utc转换为本地时间

在 PHP 中将 UTC 日期转换为本地时间

将UTC时间戳转换为熊猫中的本地时区问题

iOS将NSDate的UTC日期转换为本地时间以获取本地通知

如何将UTC时间转化为本地时间