Android examples for java.util:Date
Computes the timezone-dependent fields of an instance of an event and updates the "values" map to contain those fields.
/*/*from ww w. j a v a 2s. c om*/ * Copyright (C) 2011 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import android.content.ContentValues; import android.provider.CalendarContract.Instances; import android.text.format.Time; public class Main{ /** * Computes the timezone-dependent fields of an instance of an event and * updates the "values" map to contain those fields. * * @param begin the start time of the instance (in UTC milliseconds) * @param end the end time of the instance (in UTC milliseconds) * @param local a Time object with the timezone set to the local timezone * @param values a map that will contain the timezone-dependent fields */ static void computeTimezoneDependentFields(long begin, long end, Time local, ContentValues values) { local.set(begin); int startDay = Time.getJulianDay(begin, local.gmtoff); int startMinute = local.hour * 60 + local.minute; local.set(end); int endDay = Time.getJulianDay(end, local.gmtoff); int endMinute = local.hour * 60 + local.minute; // Special case for midnight, which has endMinute == 0. Change // that to +24 hours on the previous day to make everything simpler. // Exception: if start and end minute are both 0 on the same day, // then leave endMinute alone. if (endMinute == 0 && endDay > startDay) { endMinute = 24 * 60; endDay -= 1; } values.put(Instances.START_DAY, startDay); values.put(Instances.END_DAY, endDay); values.put(Instances.START_MINUTE, startMinute); values.put(Instances.END_MINUTE, endMinute); } }