AndroidPicker
AndroidPicker copied to clipboard
TimePicker 12小时制转换有问题
按正确的时间理解,应该是 12:00 AM = 凌晨0点 =24点, 12:00 PM = 中午12点 (因为11:59 AM 还是AM,到12才跳PM) 在测试中,设置TimePicker 的TimeMode 为 TimeMode.HOUR_12_NO_SECOND 当setDefaultValue时候 TimeEntity.target(0, 0, 0) -> wheel显示 1:0 AM (正常应该是显示12:00 AM) TimeEntity.target(12, 0, 0) -> wheel显示 12:00 AM (正常应该是显示12:00 PM) TimeEntity.target(24, 0, 0) -> wheel显示 12:00 PM (正常应该是显示12:00 AM) //但其实这个应该视为不合法,因为24点其实等于0点
可能描述有点复杂,或者我理解有问题,望作者回复
里面24小时制和12小时制复用代码,逻辑有点饶。
12点是正午,既不是AM也不是PM,是我理解有误。特意查了下资料:
美国国家标准与技术研究所(NIST)给出的答案:
中午12点为:12:00 noon
午夜12点为:12:00 midnight
----------------------------------------------
十二小时制以数字12、1、2、3、4、5、6、7、8、9、10、11依次序表示。
午前12点表达为12:00 noon,前后一分钟的时间分别是11:59 AM和12:01 PM。
午夜12点表达为12:00 midnight,前后一分钟的时间分别是11:59 PM和12:01 AM。
@bibubi 试试这个临时版本:implementation 'com.github.gzu-liyujiang:AndroidPicker:9fe37e9f53'
我是从iPhone的闹钟那里做了对比。 当你时间拨动时间,从上午 11:00 向12:00拨动的瞬间,会变成下午 12:00。 表示从早上过渡到了下午。 或者从下午 11:00向12:00拨动的话,会变成上午12:00。表示从晚上过渡到第二天早上。符合人的思维习惯?
我是从iPhone的闹钟那里做了对比。 当你时间拨动时间,从上午 11:00 向12:00拨动的瞬间,会变成下午 12:00。 表示从早上过渡到了下午。 或者从下午 11:00向12:00拨动的话,会变成上午12:00。表示从晚上过渡到第二天早上。符合人的思维习惯?
试了下安卓小米手机自带的闹钟,从上午 11 向 12 拨动的瞬间,会变为下午;反之从下午 12 向 11 拨动的话会变成上午。
小米手机自动的是上午下午放在第一级,所以要联动第二级的小时。这个库的AM/PM是放在第三级,不和小时联动。
我是从iPhone的闹钟那里做了对比。 当你时间拨动时间,从上午 11:00 向12:00拨动的瞬间,会变成下午 12:00。 表示从早上过渡到了下午。 或者从下午 11:00向12:00拨动的话,会变成上午12:00。表示从晚上过渡到第二天早上。符合人的思维习惯?
试了下安卓小米手机自带的闹钟,从上午 11 向 12 拨动的瞬间,会变为下午;反之从下午 12 向 11 拨动的话会变成上午。
嗯 iPhone也是一样的逻辑
0点设置不进去吗 12:01 AM 这个表示深夜0点1分有点怪
0点设置不进去吗 12:01 AM 这个表示深夜0点1分有点怪
0点这个,你设置成24小时制,12小时制不存在0点