AndroidPicker icon indicating copy to clipboard operation
AndroidPicker copied to clipboard

TimePicker 12小时制转换有问题

Open bibubi opened this issue 3 years ago • 8 comments

按正确的时间理解,应该是 12:00 AM = 凌晨0点 =24点, 12:00 PM = 中午12点 (因为11:59 AM 还是AM,到12才跳PM) 在测试中,设置TimePicker 的TimeModeTimeMode.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点

可能描述有点复杂,或者我理解有问题,望作者回复

bibubi avatar Dec 21 '21 07:12 bibubi

里面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。

liyujiang-gzu avatar Dec 21 '21 09:12 liyujiang-gzu

@bibubi 试试这个临时版本:implementation 'com.github.gzu-liyujiang:AndroidPicker:9fe37e9f53'

liyujiang-gzu avatar Dec 21 '21 11:12 liyujiang-gzu

我是从iPhone的闹钟那里做了对比。 当你时间拨动时间,从上午 11:00 向12:00拨动的瞬间,会变成下午 12:00。 表示从早上过渡到了下午。 或者从下午 11:00向12:00拨动的话,会变成上午12:00。表示从晚上过渡到第二天早上。符合人的思维习惯?

bibubi avatar Dec 22 '21 00:12 bibubi

我是从iPhone的闹钟那里做了对比。 当你时间拨动时间,从上午 11:00 向12:00拨动的瞬间,会变成下午 12:00。 表示从早上过渡到了下午。 或者从下午 11:00向12:00拨动的话,会变成上午12:00。表示从晚上过渡到第二天早上。符合人的思维习惯?

试了下安卓小米手机自带的闹钟,从上午 11 向 12 拨动的瞬间,会变为下午;反之从下午 12 向 11 拨动的话会变成上午。

liyujiang-gzu avatar Dec 22 '21 03:12 liyujiang-gzu

小米手机自动的是上午下午放在第一级,所以要联动第二级的小时。这个库的AM/PM是放在第三级,不和小时联动。

liyujiang-gzu avatar Dec 22 '21 03:12 liyujiang-gzu

我是从iPhone的闹钟那里做了对比。 当你时间拨动时间,从上午 11:00 向12:00拨动的瞬间,会变成下午 12:00。 表示从早上过渡到了下午。 或者从下午 11:00向12:00拨动的话,会变成上午12:00。表示从晚上过渡到第二天早上。符合人的思维习惯?

试了下安卓小米手机自带的闹钟,从上午 11 向 12 拨动的瞬间,会变为下午;反之从下午 12 向 11 拨动的话会变成上午。

嗯 iPhone也是一样的逻辑

bibubi avatar Dec 23 '21 00:12 bibubi

0点设置不进去吗 12:01 AM 这个表示深夜0点1分有点怪

xuhuanli avatar Aug 01 '22 06:08 xuhuanli

0点设置不进去吗 12:01 AM 这个表示深夜0点1分有点怪

0点这个,你设置成24小时制,12小时制不存在0点

liyujiang-gzu avatar Aug 01 '22 14:08 liyujiang-gzu