gpt4 book ai didi

java - 带有时区问题的简单日期格式

转载 作者:行者123 更新时间:2023-12-01 15:39:42 28 4
gpt4 key购买 nike

嗨,我对 simpledateformat+ 时区有疑问,这是我的代码,我期望输出为 2011 年 11 月 25 日,但返回为 2011 年 11 月 24 日。我当前的时区是太平洋时区,我正在 (2011 年 11 月 25 日) 进行测试。请帮忙。

嗨,请找到完整的程序,我不只是打印它,我正在与当前日期进行比较,我期望输出为 False,但它会变为 True。

这是生产中发生的典型场景,服务器位于太平洋,用户来自伦敦。请为我提供该问题的解决方案。

String  vacationStartDate = "25/11/2011";
SimpleDateFormat dateFormatter = new SimpleDateFormat("dd/MM/yyyy");
//America/Los_Angeles
TimeZone tz = TimeZone.getTimeZone("Europe/London");
dateFormatter.setLenient(false);
dateFormatter.setTimeZone(tz);
Date start = dateFormatter.parse(vacationStartDate);
Date todayBeginning = new Date();

if ( start.before(todayBeginning)){
System.out.println("True ");
} else {
System.out.println("False ");
}

最佳答案

这是因为您正在解析伦敦时区的日期,但在您的时区中将其打印出来。因此,伦敦的 25/11/2011 00:00:00 是 24/11/2011 16:00:00 或您所在时区的任何时间。

关于java - 带有时区问题的简单日期格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8267943/

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