gpt4 book ai didi

java - SimpleDateFormat.parse 方法不解析所选时区

转载 作者:行者123 更新时间:2023-12-01 15:02:54 26 4
gpt4 key购买 nike

  private String target_time_zone = "Australia/Hobart";
private String format = "MM/dd/yyyy HH:mm:ss z";


public static void main(String args[]) throws ParseException {

Date date = Calendar.getInstance().getTime();
TZFormat tzFormat = new TZFormat();
System.out.println("Converted TZ Date: "+ tzFormat.TZF(date));



}

public Date TZF(Date dt) throws ParseException {

TimeZone tz = TimeZone.getTimeZone(target_time_zone);
SimpleDateFormat date_format_gmt = new SimpleDateFormat(format);
date_format_gmt.setTimeZone(tz);
SimpleDateFormat date_format_gmt1 = new SimpleDateFormat(format);
date_format_gmt1.setTimeZone(tz);

System.out.println("formated value: "+ date_format_gmt.format(dt));


return date_format_gmt1.parse(date_format_gmt.format(dt));
}

输出:

formated value: 11/15/2012 03:16:11 EST
Converted TZ Date: Wed Nov 14 21:46:11 IST 2012

实际上我的要求是我想用格式将日期转换为 target_time_zone 时区并返回转换后的日期。

 private String target_time_zone = "Australia/Hobart";
private String format = "MM/dd/yyyy HH:mm:ss z";

这里想要发生的是在 TZF 方法中格式化的 date_format_gmt.format(dt) 将日期格式化为我给定的时区,当我们解析该值时,它显示以前的值(实际时间)。

如何获取选定时区的日期对象。

最佳答案

Date 对象始终表示以毫秒为单位的时间(纪元时间),它不包含任何时区信息。当您格式化并将其设置为字符串时,只有它以指定时区所需的格式打印。

关于java - SimpleDateFormat.parse 方法不解析所选时区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13382789/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com