我从TimePickerDialog中得到小时和分钟:
FragmentA
我想在其他地方展示这个时间。我的方法是使用
检查12h或24h格式的用户设置EventBus.getDefault().post(new BusCategories(mUploadProducts.getCategories()));
然后手动构建时间文本。
我的问题:有没有更好的方法呢?
答案 0 :(得分:2)
您可以像这样使用SimpleDateFormat 24小时:
SimpleDateFormat dateFormat = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss);
或将HH
更改为hh
以获得12小时格式:
SimpleDateFormat dateFormat = new SimpleDateFormat("dd.MM.yyyy hh:mm:ss);
然后使用:
dateFormat.format(yourDate);
您可以使用日历获取:
SimpleDateFormat dateFormat;
if (DateFormat.is24HourFormat()) {
dateFormat = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss);
} else {
dateFormat = new SimpleDateFormat("dd.MM.yyyy hh:mm:ss);
}
Calendar c = new Calendar.getInstance();
c.set(Calendar.HOUR, yourIntHour); // Or HOUR_OF_DAY
c.set(Calendar.MINUTE, yourIntMinute);
Date d = c.getTime();
String dateResult = dateFormat.format(d);
您可以使用HOUR_OF_DAY
代替HOUR
:
(soruce:javadoc)
public static final int HOUR
获取和设置的字段编号,表示上午或 下午。小时用于12小时制(0 - 11)。中午和 午夜由0表示,而不是由12表示。例如,在10:04:15.250 PM 小时是10。
public static final int HOUR_OF_DAY
获取和设置的字段编号,表示当天的小时。 HOUR_OF_DAY用于24小时制。例如,在下午10:04:15.250 HOUR_OF_DAY是22。
答案 1 :(得分:0)
您可以使用<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<pre id="result"></pre>
timePicker.setIs24HourView(boolean)