从当前时间中删除秒数
Removing Seconds from Current Time
我正在使用以下方式获取 Android 中的当前时间,如下所示:
String currentDateTimeString = DateFormat.getTimeInstance().format(new Date());
得到的结果为:4:51:03 PM
现在,如果我想得到没有秒的时间,如 4:51 PM 怎么办?
谢谢
您可以使用
DateFormat.getTimeInstance(DateFormat.SHORT).format(new Date())
要进一步控制格式,您可以使用 SimpleDateFormat
。
DateFormat.getTimeInstance(DateFormat.SHORT)
在这里工作得很好:从 20:00:00 到 20:00 和从 8:00:00 下午到 8:00 下午。
或
Date myDate=new Date(Time.getTime());
DateFormat df=new SimpleDateFormat("H:mm");
String myDateStr=df.format(myDate);
我正在使用 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 "";
}
}
我正在使用以下方式获取 Android 中的当前时间,如下所示:
String currentDateTimeString = DateFormat.getTimeInstance().format(new Date());
得到的结果为:4:51:03 PM
现在,如果我想得到没有秒的时间,如 4:51 PM 怎么办?
谢谢
您可以使用
DateFormat.getTimeInstance(DateFormat.SHORT).format(new Date())
要进一步控制格式,您可以使用 SimpleDateFormat
。
DateFormat.getTimeInstance(DateFormat.SHORT)
在这里工作得很好:从 20:00:00 到 20:00 和从 8:00:00 下午到 8:00 下午。
或
Date myDate=new Date(Time.getTime());
DateFormat df=new SimpleDateFormat("H:mm");
String myDateStr=df.format(myDate);
我正在使用 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 "";
}
}