每当我尝试将CalendarView
设置为今天的焦点时(使用setDate()来设置),它总是显示日历中可用的最后一天(2100年11月31日)。
但是,如果我将日期设定为另一天,那就可以了。
CalendarView cal = new CalendarView(this);
cal.setDate(new Date().getTime(),false,true);
答案 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);