android - 警报设置为 UTC 时间戳。不是我当前的系统时间

标签 android date calendar broadcastreceiver android-alarms

我正在制作闹钟时间应用程序。闹钟工作正常...但它是基于 UTC 时间工作的。我想在本地时间运行闹钟..

我在广播接收器的 startAlarm 方法中有以下代码:

Calendar date1 = Calendar.getInstance();
AlarmManager am =( AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
        Intent i = new Intent(context, SilentModeOnBroadCastReceiver.class);
        PendingIntent pi = PendingIntent.getBroadcast(context, j, i, PendingIntent.FLAG_UPDATE_CURRENT);
        am.setRepeating(AlarmManager.RTC_WAKEUP, date1.getTimeInMillis(), AlarmManager.INTERVAL_DAY, pi);

请帮帮我

最佳答案

将您的本地时区传递给 Calender.getInstance() 方法

  TimeZone timeZone = TimeZone.getTimeZone("LocalTimeZone");//Your Own Local TimeZone
    Calendar calendar = Calendar.getInstance(timeZone);

关于android - 警报设置为 UTC 时间戳。不是我当前的系统时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32738494/

相关文章:

java - 如何清除searchview中的recyclerview/adapter以进行下一次搜索android

java - 正确验证同一天内的时间间隔

java - 为什么 Calendar 类 (Java) 会重置其字段?

javascript - daterangepicker 应用按钮无法正常工作

Android HttpClient 仅使用 get 请求将数据发送到服务器

java - 如何在 Android 上使用 SHA-256

java - 通过 parcelFileDescriptor 在 android 中进行视频流传输

r - 计算 data.table 中事件发生后的天数

java - ANDROID:在某个日期禁用 EditTexts 并在另一个日期后重新启用它们?

javascript - 在 HTML 中创建日历