gpt4 book ai didi

java - 在android中使用时区将字符串转换为日历

转载 作者:行者123 更新时间:2023-11-29 22:07:22 24 4
gpt4 key购买 nike

我正在寻找一种将时间字符串转换为日历的方法,如下所示:

   public static Calendar stringToCalendar(String strDate, TimeZone timezone){
String FORMAT_DATETIME = "yyyy-MM-dd'T'HH:mm:ss";
SimpleDateFormat sdf = new SimpleDateFormat(FORMAT_DATETIME);
sdf.setTimeZone(timezone);
Date date = sdf.parse(strDate);
Calendar cal = Calendar.getInstance(timezone);
cal.setTime(date);
return cal;
}

以上代码无效。
例如:当我传递带有模式 yyyy-MM-dd'T'HH:mm:ss 和时区的时间字符串“2012-05-08T09:10:10”时是 GMT+7,结果(来自 Calendar 对象)应该是:2012-05-08T16:10:10
问题是出于某些原因,我不想使用 Joda time .那么,我该怎么做呢?

最佳答案

只需使用 SimpleDateFormat并设置 TimeZone在上面。然后调用 parse() 方法。

编辑:


import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.TimeZone;

public class temp2 {

public static void main(String[] args) throws ParseException {
String s = "2012-05-08T09:10:10";
Calendar cal = stringToCalendar(s, TimeZone.getTimeZone("GMT+0"));
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
sdf.setTimeZone(TimeZone.getTimeZone("GMT+7"));
System.err.println(sdf.format(cal.getTime()));
}

public static Calendar stringToCalendar(String strDate, TimeZone timezone) throws ParseException {
String FORMAT_DATETIME = "yyyy-MM-dd'T'HH:mm:ss";
SimpleDateFormat sdf = new SimpleDateFormat(FORMAT_DATETIME);
sdf.setTimeZone(timezone);
Date date = sdf.parse(strDate);
Calendar cal = Calendar.getInstance();
cal.setTime(date);
return cal;
}

}

输出:

2012-05-08 16:10:10Where the difference is indeed 7 hours

关于java - 在android中使用时区将字符串转换为日历,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10496152/

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