示例#1
0
        private Java.Util.Calendar GetCalendar()
        {
            var calender = new Java.Util.GregorianCalendar();

            if (m_dateTime.Ticks == 0)
            {
                // always use UTC for DateTime.MinValue, this is probably not correct.
                calender.TimeZone     = Java.Util.TimeZone.GetTimeZone("UTC");
                calender.TimeInMillis = DateTime.MinValueJavaMillies;
            }
            else
            {
                Java.Util.TimeZone tz;

                if (m_offsetMinutes == 0)
                {
                    tz = Java.Util.TimeZone.GetTimeZone("UTC");
                }
                else
                {
                    int    tzIdVal = (((m_offsetMinutes / 60) * 100) + m_offsetMinutes % 60);
                    string tzId    = string.Format("GMT{0:+0000;-0000}", tzIdVal);
                    tz = Java.Util.TimeZone.GetTimeZone(tzId);
                }

                var  millis     = (m_dateTime.Ticks / TimeSpan.TicksPerMillisecond) - DateTime.EraDifferenceInMs;
                long offsetInMs = (long)0;

                calender.TimeZone     = tz;
                calender.TimeInMillis = (millis - offsetInMs);
            }
            return(calender);
        }
示例#2
0
        public void AddEventToCalendar(CultureInfo ci, DateTime @from, DateTime until, string name, string location)
        {
            var intent    = new Intent(Intent.ActionInsert);
            var dateFrom  = new GregorianCalendar(from.Year, from.Month - 1, from.Day, 0, 0);
            var dateUntil = new GregorianCalendar(until.Year, until.Month - 1, until.Day, 23, 59);

            try
            {
                intent.PutExtra(CalendarContract.Events.InterfaceConsts.Title, name);
                intent.PutExtra(CalendarContract.Events.InterfaceConsts.EventLocation, location);
                intent.PutExtra(CalendarContract.ExtraEventAllDay, true);
                intent.PutExtra(CalendarContract.ExtraEventBeginTime, dateFrom.TimeInMillis);
                intent.PutExtra(CalendarContract.ExtraEventEndTime, dateUntil.TimeInMillis);
                intent.SetData(CalendarContract.Events.ContentUri);
                MainActivity.Instance.StartActivity(intent);
            }
            catch (Exception)
            {
                // shht
            }
        }