从当前时间中删除秒数

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 "";
    }

  }