如何在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中从时区获取日期[重复]的主要内容,如果未能解决你的问题,请参考以下文章

CookComputing XmlRpc客户端-如何获取带有时区的日期时间[重复]

如何在 Java 中获取时区的当前日期和时间?

获取时区的当前日期对象[重复]

从时区偏移或Angularjs中的日期获取时区[重复]

在用户的时区中获取用户的日期和时间 [重复]

Java从unix时间戳获取当前日期[重复]