2

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

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

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

2 回答 2

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

或者

cal.setDate(Calendar.getInstance().getTimeInMillis(),false,true);
于 2014-09-19T10:15:56.273 回答
1

这是浪费时间+头痛的事情,我真的想知道为什么这里没有人回答这个话题(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);

ps从毫秒到日期时间格式的转换

于 2018-09-13T17:26:50.697 回答