如何在java中从时区获取日期[重复]
Posted
技术标签:
【中文标题】如何在java中从时区获取日期[重复]【英文标题】:How to get the day from timezone in java [duplicate] 【发布时间】:2016-10-21 13:37:10 【问题描述】:我的输入将是时区
String timeZone = currentTimeZone.getID();
timezone = America/Los_Angeles
输出应该是属于那个时区的那一天。
Monday
这是我迄今为止尝试过的。
SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy hh:mm:ss");
Date datetime = new Date();
sdf.setTimeZone(TimeZone.getTimeZone("Asia/Calcutta"));
System.out.println("Asia/Calcutta "+ sdf.format(datetime));
【问题讨论】:
请展示您到目前为止尝试过的内容并解释您遇到的具体问题。 SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy hh:mm:ss");日期 datetime = new Date(); sdf.setTimeZone(TimeZone.getTimeZone("亚洲/加尔各答")); System.out.println("亚洲/加尔各答"+ sdf.format(datetime)); 请将其添加到问题中 请在发帖前彻底搜索 Stack Overflow。 【参考方案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);
int dayOfWeek = calender.get(Calendar.DAY_OF_WEEK);
试试看
【讨论】:
只有一天 OUTPUT=MONDAY dayOfWeek 会给你一天,你可以省略其他人 它将返回整数 DAY_OF_WEEK public static final int DAY_OF_WEEK get 和 set 字段编号,表示星期几。此字段采用 SUNDAY、MONDAY、TUESDAY、WEDNESDAY、THURSDAY、FRIDAY 和 SATURDAY 值。【参考方案2】:您可以使用其他答案给您一个整数,然后您可以相应地将其映射到星期几,或者您可以使用SimpleDateFormat
像这样打印星期几:
SimpleDateFormat sdf = new SimpleDateFormat("EEEE");
Date datetime = new Date();
sdf.setTimeZone(TimeZone.getTimeZone("America/Los_Angeles"));
System.out.println("America/Los_Angeles " + sdf.format(datetime));
希望这会有所帮助。
【讨论】:
【参考方案3】:> String[] days =
> "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday";
> 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);
> int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
> System.out.println(days[dayOfWeek -1]);
我们也可以设置 calendar.setFirstDayOfWeek();默认是一周开始的星期日。
【讨论】:
以上是关于如何在java中从时区获取日期[重复]的主要内容,如果未能解决你的问题,请参考以下文章