我正在使用以下方式获取Android中的当前时间,如下所示:
String currentDateTimeString = DateFormat.getTimeInstance().format(new Date());
获得结果:下午4:51:03
现在,如果我想在没有秒的情况下获得时间 4:51 PM 怎么办?
谢谢
答案 0 :(得分:2)
您可以使用
DateFormat.getTimeInstance(DateFormat.SHORT).format(new Date())
要进一步控制格式,您可以使用SimpleDateFormat
。
答案 1 :(得分:2)
DateFormat.getTimeInstance(DateFormat.SHORT)
在这里工作得非常好:从20:00:00到20:00以及从8:00:00到8:00 PM。
或
Date myDate=new Date(Time.getTime());
DateFormat df=new SimpleDateFormat("H:mm");
String myDateStr=df.format(myDate);
答案 2 :(得分:0)
我使用的是 Java 和波斯日期(您可以选择您的时区)!它的完整日期和时间没有秒!
你可以像这样使用它:
view.text = DateUtil.getPersianDateTimeShort(date, " - ")
public static String getPersianDateTimeShort(String dateStr, String separator) {
String out = "";
try {
if (dateStr == null || dateStr.equals(""))
return out;
String date = getPersianFullDate(dateStr);
String time = getPersianShortTime(dateStr);
out = date + separator + time;
return out;
} catch (Exception e) {
Log.e(DateUtil.class.getSimpleName() + ":getPersianDateTime", e.getClass().getName() + ": " + e.getMessage());
return "";
}
}
public static String getPersianShortTime(String dateStr) {
return getPersianShortTime(dateStr, "HH:mm", TimeZone.getDefault());
}
public static String getPersianShortTime(String dateStr, String timeFormat, TimeZone timeZone) {
String out;
try {
if (dateStr == null || dateStr.equals(""))
return "";
SimpleDateFormat sdfDate = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm", Locale.ENGLISH);
sdfDate.setTimeZone(TimeZone.getTimeZone("UTC"));
Date date = sdfDate.parse(dateStr);
sdfDate = new SimpleDateFormat(timeFormat, Locale.ENGLISH);
sdfDate.setTimeZone(timeZone);
String time = sdfDate.format(date);
out = time;
return out;
} catch (Exception e) {
Log.e(DateUtil.class.getSimpleName() + ":getPersianTime", e.getClass().getName() + ": " + e.getMessage());
return "";
}
}