CalendarView无法设置为当前日期?

时间:2014-09-19 10:02:50

标签: android calendarview

每当我尝试将CalendarView设置为今天的焦点时(使用setDate()来设置),它总是显示日历中可用的最后一天(2100年11月31日)。

但是,如果我将日期设定为另一天,那就可以了。

CalendarView cal = new CalendarView(this);
cal.setDate(new Date().getTime(),false,true);

2 个答案:

答案 0 :(得分:3)

CalendarView cal = new CalendarView(this);
cal.setDate(System.currentTimeMillis(),false,true);

cal.setDate(Calendar.getInstance().getTimeInMillis(),false,true);

答案 1 :(得分:0)

这是浪费时间和头痛的事情,我真的很想知道为什么这里没有人回答这个话题(3年前!)/或者为什么Google中没有顶级搜索结果来回答这个简单的问题

我永远无法用我的英语水平不佳来解释自己的愤怒,这太可悲了, 因此,我将在这里为其他会遇到此问题的人编写它。

要为日历视图转换C#的​​日期时间->您必须减去此日期的滴答计数1970年1月1日

public static long DatetimeToLong(DateTime dt) {
        return  (long)( dt - new DateTime(1970, 1, 1)).TotalMilliseconds  ;
        //(dt  - (new DateTime(1970, 1, 1) )  );
    }

Calendar_View.SetDate( util.DatetimeToLong(DateTime.Now.Date.AddDays(20) )  ,false ,true);

p.s。 Conversion from milliseconds to DateTime format