如何从不同的时区获得年,月,日?

时间:2013-01-17 03:18:18

标签: java android

我现在在香港。我如何从美国获得年,月,日? 我试过了:

Calendar calendar = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("dd-MMM-yyyy hh:mm:ss z");
sdf.setTimeZone(TimeZone.getTimeZone("America/Los_Angeles"));
sdf.format(calendar.getTime());

但我不知道如何获得一年,一个月。 请帮忙

3 个答案:

答案 0 :(得分:1)

以下代码会产生三个必需变量:

Calendar calendar = Calendar.getInstance();
Calendar LATime = new GregorianCalendar(TimeZone.getTimeZone("America/Los_Angeles"));
LATime.setTimeInMillis(calendar.getTimeInMillis());
int year = LATime.get(Calendar.YEAR);
int month = LATime.get(Calendar.MONTH);
int date = LATime.get(Calendar.DATE);

希望它有所帮助。

答案 1 :(得分:0)

您需要执行以下操作(假设dateObj是香港时间的日期实例):

SimpleDateFormat sdf = new SimpleDateFormat("dd-MMM-yyyy hh:mm:ss z");
sdf.setTimeZone(TimeZone.getTimeZone("America/Los_Angeles"));
String usaDateStr= sdf.format(dateObj);

请参阅此example

答案 2 :(得分:0)

您也可以使用有用的lib进行日期时间操作,例如Joda lib

我确实尝试在将UTC时间转换为本地时间时使用它,您可以尝试在不同的时区之间进行转换。 祝好运 ! :)