Android 时间格式问题 - 它以 A.M / P.M 的形式出现
Android Time Format issue - Its coming as A.M / P.M
我在从 Moto X 和 Nexus 5X 设备获取日期时间格式时遇到问题
下面是我正在使用的代码。
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
SimpleDateFormat mSDF = null;
final String format = Settings.System.getString(fragment.getActivity()
.getContentResolver(), Settings.System.TIME_12_24);
boolean is24HourFormat = android.text.format.DateFormat
.is24HourFormat(getActivity());
mSDF = new SimpleDateFormat("hh:mm a", Locale.ENGLISH);
System.out.println("Time Format:" + format);
Calendar mCalendar = Calendar.getInstance();
mCalendar.set(Calendar.HOUR_OF_DAY, hourOfDay);
mCalendar.set(Calendar.MINUTE, minute);
String selectedTime = mSDF.format(mCalendar.getTime());
fragment.onTimeSelected(selectedTime, inputField);
}
在 selectedTime 上,我得到的时间格式类似于 10:40 A.M 或 P.M 而不是 AM 或 PM。
当我将其传递给 API 时出现问题,就像我们这样发送一样,它会导致其他具有正常格式的手机的日期格式转换出现问题。
那么有什么方法可以在 AM 和 PM 中获取时间格式而不是上述设备中的 A.M 或 P.M?
改变
fragment.onTimeSelected(selectedTime, inputField);
至
fragment.onTimeSelected(selectedTime.replace(".",""), inputField);
我已经通过以下方式解决了
将 , 替换为空
fragment.onTimeSelected(selectedTime.replace("\.",""), inputField);
并且在转换过程中,请指定语言环境。
SimpleDateFormat dateFormat = new SimpleDateFormat(
"yyyy-MM-dd HH:mm:ss",Locale.ENGLISH);
我在从 Moto X 和 Nexus 5X 设备获取日期时间格式时遇到问题 下面是我正在使用的代码。
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
SimpleDateFormat mSDF = null;
final String format = Settings.System.getString(fragment.getActivity()
.getContentResolver(), Settings.System.TIME_12_24);
boolean is24HourFormat = android.text.format.DateFormat
.is24HourFormat(getActivity());
mSDF = new SimpleDateFormat("hh:mm a", Locale.ENGLISH);
System.out.println("Time Format:" + format);
Calendar mCalendar = Calendar.getInstance();
mCalendar.set(Calendar.HOUR_OF_DAY, hourOfDay);
mCalendar.set(Calendar.MINUTE, minute);
String selectedTime = mSDF.format(mCalendar.getTime());
fragment.onTimeSelected(selectedTime, inputField);
}
在 selectedTime 上,我得到的时间格式类似于 10:40 A.M 或 P.M 而不是 AM 或 PM。
当我将其传递给 API 时出现问题,就像我们这样发送一样,它会导致其他具有正常格式的手机的日期格式转换出现问题。
那么有什么方法可以在 AM 和 PM 中获取时间格式而不是上述设备中的 A.M 或 P.M?
改变
fragment.onTimeSelected(selectedTime, inputField);
至
fragment.onTimeSelected(selectedTime.replace(".",""), inputField);
我已经通过以下方式解决了
将 , 替换为空
fragment.onTimeSelected(selectedTime.replace("\.",""), inputField);
并且在转换过程中,请指定语言环境。
SimpleDateFormat dateFormat = new SimpleDateFormat(
"yyyy-MM-dd HH:mm:ss",Locale.ENGLISH);