Java 如何在Android上正确设置日期格式?
我正在构建一个IOS和Android版本,在我的IOS中,日期的格式是“2017年6月23日上午8:58” 在安卓系统中,我以数字形式获取日期,然后按如下方式分配:Java 如何在Android上正确设置日期格式?,java,android,date-formatting,Java,Android,Date Formatting,我正在构建一个IOS和Android版本,在我的IOS中,日期的格式是“2017年6月23日上午8:58” 在安卓系统中,我以数字形式获取日期,然后按如下方式分配: public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) { date_time = dayOfMonth + "-" + (monthOfYear + 1) + "-" + year; timePicker(); }
public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
date_time = dayOfMonth + "-" + (monthOfYear + 1) + "-" + year;
timePicker();
}
下面是timePicker()
方法:
private void timePicker(){
// Get Current Time
final Calendar c = Calendar.getInstance();
mHour = c.get(Calendar.HOUR_OF_DAY);
mMinute = c.get(Calendar.MINUTE);
// Launch Time Picker Dialog
TimePickerDialog timePickerDialog = new TimePickerDialog(this,
new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
mHour = hourOfDay;
mMinute = minute;
et_show_date_time.setText(date_time+" "+hourOfDay + ":" + minute);
}
}, mHour, mMinute, false);
timePickerDialog.show();
}
结果是“27-6-2017 16:55”
如何设置与IOS版本相似的格式?您可以通过SimpleDataFormat实现这一点
Date currentTime = Calendar.getInstance().getTime();
String newFormat="";
try
{
SimpleDateFormat form = new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss");
newFormat = form.format(currentTime);
tvAppliedDate.setText(newFormat);
}
catch (Exception e)
{
e.printStackTrace();
Toast.makeText(this, "parse error", Toast.LENGTH_SHORT).show();
}
始终使用日历对象。然后,您可以在设置文本时对其进行格式化。尝试存储单独的datetime将更难调试我不了解其中的一些,什么是“Tvappleddate”,什么是当前时间?current time是给出当前时间的日期实例变量,Tvappleddate是我使用的textview,您可以在使用Calendar.getInstance().getTime()并将其格式化为SimpleDataFormat form=new SimpleDataFormat(HH:mm:ss”);newFormat=form.format(currentTime);//newFormat是包含时间的字符串时,从选择器获取当前日期