Android 正在尝试为事件设置时区
正如标题所说,我正在创建一个事件,但它似乎没有设置正确的时区。。。我做错了什么?作为参考,我使用12:00PM作为开始时间。开始时间显示正确,但时区显示不正确。我不想将时间转换为用户/设备的时区Android 正在尝试为事件设置时区,android,google-calendar-api,Android,Google Calendar Api,正如标题所说,我正在创建一个事件,但它似乎没有设置正确的时区。。。我做错了什么?作为参考,我使用12:00PM作为开始时间。开始时间显示正确,但时区显示不正确。我不想将时间转换为用户/设备的时区 Calendar cal = new GregorianCalendar(); cal.setTime(tDate); Intent intent = new Intent(Intent.ACTION_EDIT); in
Calendar cal = new GregorianCalendar();
cal.setTime(tDate);
Intent intent = new Intent(Intent.ACTION_EDIT);
intent.setType("vnd.android.cursor.item/event");
intent.putExtra("beginTime", cal.getTimeInMillis());
intent.putExtra(Events.ALL_DAY, false);
intent.putExtra(Events.TITLE, "Title goes here");
intent.putExtra(Events.EVENT_LOCATION, "Los Angeles");
intent.putExtra(Events.EVENT_TIMEZONE, "America/Los_Angeles");
intent.putExtra(Events.DESCRIPTION, "Test");
startActivity(intent);
添加事件的意图方法(如文档所示)至少不支持额外时区,在给出的示例中不支持。以下是基于该示例的一些指针:
- 您应该使用
操作Intent.ACTION\u INSERT
- 您应该使用常量通过
设置URIsetData()
- 您应该使用常量,而不是
“beginTime”
- 您应该使用常量而不是
事件。全天
如果需要时区设置,可以使用ContentResolver来添加事件,而无需使用intent方法。我也有同样的问题。我尝试了
TimeZone.getAvailableIDs()
中的任何东西,但没有任何运气。tDate变量它包含的时间,转换时间的最佳方法是首先将其转换为UTC时区,然后再将其转换为您的时区,因此将tDate转换为UTC,然后再转换为您的时区希望这对您有用