我在获取24小时制下的当前时间时遇到了问题。据我所知,"HH"应该代表24小时制下的当前小时数,但是由于某种原因,"HH"根本没有被解释。这就是为什么以下代码行输出类似于"HH:50:06 Uhr, 02. Sep."的东西:
DateFormat.format("HH:mm:ss 'Uhr', dd. MMM", new Date());
任何想法我做错了什么?使用"hh"可以工作,但是这将在12小时制上输出时间,这不是我想要的。帮助感激不尽!SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
String str = sdf.format(new Date());
此外,还可以查看Android文档版本。
HH
是24小时制(0-23;偏移量为0)中表示一天中的小时格式的格式说明符,仅当您使用 SimpleDateFormat
类格式化日期时才使用该符号。
您正在使用 android.text.format.DateFormat
类的 format
方法,该方法不使用此符号,而是使用符号 k
/kk
来显示24小时制中的小时。
因此,必须按以下方式指定日期格式字符串:
DateFormat.format("kk:mm:ss 'Uhr', dd. MMM", new Date());
试试这个:
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
String s = sdf.format(new Date());
adEhkMmszy
。请注意,为了向后兼容,此类错误地将k
实现为H
。”这似乎解释了为什么大写的H
被识别为H
。 - Ole V.V.