gpt4 book ai didi

java - 如何将纽约时区转换为亚洲时区

转载 作者:行者123 更新时间:2023-12-01 18:57:05 26 4
gpt4 key购买 nike

如何将纽约时区时间转换为“亚洲/加尔各答”日期和时间?

我的输入字符串:

11/28/2012 8:59am

我的代码:

String dtStart = "11/28/2012 8:59am";  
SimpleDateFormat format = new SimpleDateFormat("mm/dd/yyyy hh:mma");
format.setTimeZone(TimeZone.getTimeZone("America/New_York"));
try {
Date date = format.parse(dtStart);
Log.i("clock", date.toString());
System.out.println(date);


Calendar cal = Calendar.getInstance();
cal.setTimeInMillis(date.getTime());
cal.setTimeZone(TimeZone.getTimeZone("Asia/Kolkata"));
int chour = cal.get(Calendar.HOUR_OF_DAY);
int cminute = cal.get(Calendar.MINUTE);
int dd = cal.get(Calendar.DAY_OF_MONTH);
int mm =cal.get(Calendar.MONTH);
int yy =cal.get(Calendar.YEAR);

String mode="AM";

if(chour>12)
{
chour=chour-12;
mode="PM";
}

String mytime=Integer.toString(chour)+":"+Integer.toString(cminute)+" "+mode;
String mydate=Integer.toString(dd)+"/"+Integer.toString(mm)+"/"+Integer.toString(yy);

Log.i("clock", mytime);
Log.i("clock", mydate);

} catch (ParseException e) {
e.printStackTrace();
} catch (java.text.ParseException e) {
e.printStackTrace();
}

我的输出日志:

Sat Jan 28 19:29:00 GMT+05:30 2012
7:29 PM
28/0/2012

这里我的时间是正确的,但日期是错误的。我预计 2012 年 11 月 28 日。我无法追踪我哪里做错了?

最佳答案

问题的格式是您输入的:“mm/dd/yyyy hh:mma”。我相信您想这样做:“MM/dd/yyyy hh:mma”

关于java - 如何将纽约时区转换为亚洲时区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13607347/

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