时区糟透了。 特别是夏令时。 我不介意像与此行为相关的编程错误那样,不停移动时钟或失去一个小时的睡眠。 更糟糕的是Java的旧日期/时间API。
Java社区通过JSR 310公开承认了这一点,该版本取代了Java Date&Time API,但是由于其复杂性,我们仍然没有它。 作为一个小的解决方法,我们创建了一个小的API来执行一些常见的日期计算。
DateUtil
允许您检查一天是否处于夏令时。 它可以在所有平台上一致地工作而不会出现问题,例如:
DateUtil du = new DateUtil();
Log.p("Currently in daylight savings time? "+du.inDaylightTime(new Date()));
Log.p("Offset: "+du.getOffset(new Date().getTime()));Date dec30 = new Date(1483056000000l);
Log.p("Dec 30 is daylight savings time? "+du.inDaylightTime(dec30));
Log.p("Offset: "+du.getOffset(dec30.getTime()));
DateUtil
构造函数可以将TimeZone
作为参数。 没有它,它将使用默认的TimeZone
。
完成侦听器
媒体允许我们跟踪它在首次设置时是否完成播放。 在那之后,您将独自一人。
上周,我们添加了一种新功能,可以在事实发生后绑定完成侦听器,并且可能具有多个侦听器:
MediaManager.addCompletionHandler(myMediaObject, () -> Log.p("This is a runnable callback"));
部分回合
我一直在努力改善这个问题 。 UI部分还不存在,但是代码在这里...
要点是,使用圆形矩形边框,我们目前有3种选择:
- 所有的角都应该是圆的
- 只有顶角
- 只有底角
这个问题指出了一些角落的用例,我可以想到一个我想要将左或右角四舍五入的情况。
考虑到这一点,我决定正确的做法是对各个角落进行控制。 目前,这仅在代码中是可行的,但希望在某些时候也可以应用到设计器工具中:
RoundRectBorder rb = RoundRectBorder.create().bottomLeftMode(false);
这将创建一个边界,该边界的角除左下角外均为圆角。 在上课时,我还改善了纯色边框的性能/内存开销。
其余对PATCH HTTP请求的支持
Rest
类现在支持该API以前缺少的HTTP PATCH方法 。 它不像其他API那样常见,因此有一阵子没有引起注意。
它的工作原理几乎与其他所有Rest API请求一样 。
翻译自: https://www.javacodegeeks.com/2018/04/date-util.html