是否可以使用joda时间将3位数时间转换为HH:mm格式?我已经试过以下如何将3位24小时制时间转换为12小时制时间?
int databaseTime = cursor.getInt(TIME);
DateTimeFormatter worldTime = DateTimeFormat.forPattern("HHmm");
String localTime = worldTime.parseDateTime(databaseTime);
这在1000上面的数据库任何时候的伟大工程,但出现了错误,如果超时的数据库是100-900(0100-0900)有错误,如“ 70不是一个小时“或什么东西(不够聪明就知道700 = 0700)。
于是我试着
String dbTime = String.valueOf(cursor.getInt(Globals.CLASSTIME));
String nextClassTime = (dbTime.length() < 4) ? "0" + dbTime : dbTime;
DateTimeFormatter worldTime = DateTimeFormat.forPattern("HHmm");
DateTimeFormatter normalTime = DateTimeFormat.forPattern("hh:mm a");
LocalTime wt = worldTime.parseLocalTime(nextClassTime);
String lt = normalTime.print(wt);
但这打印“当地时间”为“07:00”
有没有得到它返回“7:00 AM”的方法吗?我想一个可能的解决方案是将我的数据库时间变成一个字符串,而不是一个整数,然后保存3位数字与前面的0,但我想不触及数据库,如果可能的话(这将需要编辑我的Web服务还有)
尝试'“H:mm”'并检查。 – NINCOMPOOP
或“嗯”,因为没有迹象表明有冒号。根据实施情况,它可能仍然无法做正确的事情。 (我知道野田时间会。) –
H:mm a仍然是“10:00 AM”/“10:00 PM”吗?让我试试吧 编辑:作品! @TheNewIdiot你可以发布作为答案,所以我可以接受它,然后upvote Sickolas在SQL日期推荐? –