MagicMashRoom / SuperCalendar

@Deprecated android 自定义日历控件 支持左右无限滑动 周月切换 标记日期显示 自定义显示效果跳转到指定日期
2.76k stars 484 forks source link

markData的日期格式问题 #137

Open nevermorever opened 6 years ago

nevermorever commented 6 years ago

例子中的日期格式: private void initMarkData() { HashMap<String, String> markData = new HashMap<>(); markData.put("2017-8-9", "1"); markData.put("2017-7-9", "0"); markData.put("2017-6-9", "1"); markData.put("2017-6-10", "0"); calendarAdapter.setMarkData(markData); }

默认时yyyy-m-d 如果时这种格式: markData.put("2017-08-9", "1"); markData.put("2017-7-09", "0");是无法渲染出来的。 后端传过来的这样的格式还要转一次才行。是这样么?

nevermorever commented 6 years ago

而且,感觉最好应该是传一个date进去,而不是传一个String啊

YHB1239 commented 6 years ago

我处理的时候就是自己转换了一下,也没那么麻烦

ps19900306 commented 6 years ago

保存日期返回的是这个 return year + "-" + month + "-" + day; 然后是用containsKey 去提取的,所以它这个格式是完全固定的。你写个时间的转换方法就行了啊。

nevermorever commented 6 years ago

我是写了转换方法来处理,我知识想说这个地方能不能做的更通用一点,这地方的时间处理

gaochunchun commented 5 years ago

@nevermorever 格式化一下就可以了,方法如下:

public static String getDate(Long time){ String ret = null; SimpleDateFormat format = new SimpleDateFormat("y-M-d"); ret = format.format(new Date(time)); return ret; }