每次我尝试设置CalendarView
今天的焦点(使用 setDate() 设置)时,它总是显示日历中可用的最后一天(2100 年 11 月 31 日)。
但是,如果我将日期设置为另一天,那就可以了。
CalendarView cal = new CalendarView(this);
cal.setDate(new Date().getTime(),false,true);
每次我尝试设置CalendarView
今天的焦点(使用 setDate() 设置)时,它总是显示日历中可用的最后一天(2100 年 11 月 31 日)。
但是,如果我将日期设置为另一天,那就可以了。
CalendarView cal = new CalendarView(this);
cal.setDate(new Date().getTime(),false,true);
CalendarView cal = new CalendarView(this);
cal.setDate(System.currentTimeMillis(),false,true);
或者
cal.setDate(Calendar.getInstance().getTimeInMillis(),false,true);
这是浪费时间+头痛的事情,我真的想知道为什么这里没有人回答这个话题(3年前!)/或者为什么谷歌没有任何热门搜索结果来回答这个简单的问题。
太可悲了,我永远无法用我糟糕的英语水平来解释我的愤怒, 所以我就写在这里给其他面临这个问题的人。
要将 C# 的 DateTime 转换为日历视图 -> 您必须减去该日期 1/1/1970 的滴答计数
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);