根据时区更改日历视图

Changing calendar view based on timezone

本文关键字:日历 视图 时区      更新时间:2023-09-26

看到这张图片中的日程安排会议现在突出显示,这是印度时区,如果我在美国时区打开相同的日历,日程安排应该根据那里的时区进行更改,因此日历视图也应该更改。我需要根据时区更改日历视图,例如,如果我在印度并且我安排了下午 3-4 点的会议,因此当我们在印度时,日历将显示,但如果我在美国或巴黎,我安排的会议下午 3-4 点将在他们的日历视图中以不同的方式显示。

目前我有这个代码

final Date date = new Date();
final DateFormat formatter = new SimpleDateFormat("MM/dd/yyyy hh:mm a");
formatter.setTimeZone(TimeZone.getTimeZone(timezone));
currentstartDate = formatter.format(date);
currentendDate = formatter.format(date);

我正在从其他 bean 获取时区,它在调试时检查到这里

您是否尝试过使用 SimpleDateFormat?

SimpleDateFormat isoFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
isoFormat.setTimeZone(TimeZone.getTimeZone("UTC"));

在此处完成代码: 包一般;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.TimeZone;
public class DateTimeTZ {
public static void main(String[] args) throws ParseException {
    SimpleDateFormat isoFormat = new SimpleDateFormat("MM/dd/yyyy hh:mm a");
    Date date1 = isoFormat.parse("03/01/2016 09:01 AM");
    isoFormat.setTimeZone(TimeZone.getTimeZone("Asia/Mumbai"));
    isoFormat.applyPattern("dd MMM yyyy HH:mm:ss z");
    System.out.println("Current Date and Time in IST time zone: " + isoFormat.format(date1));
    isoFormat.setTimeZone(TimeZone.getTimeZone("Asia/Singapore"));
    isoFormat.applyPattern("dd MMM yyyy HH:mm:ss z");
    System.out.println("Current Date and Time in SGT time zone: " + isoFormat.format(date1));
    isoFormat.setTimeZone(TimeZone.getTimeZone("Asia/Tokyo"));
    isoFormat.applyPattern("dd MMM yyyy HH:mm:ss z");
    System.out.println("Current Date and Time in JST time zone: " + isoFormat.format(date1));
}
}

输出:

IST时区的当前日期和时间:2016年3月1日 03:31:00 GMT

当前日期和时间(新加坡时间)时区:2016 年 3 月 1 日 11:31:00 SGT

当前日期和时间(日本标准时间):2016 年 3 月 1 日 12:31:00(日本时间)