Отображение текущего времени в 12-часовом формате с AM / PM



В настоящее время время отображается как 13:35 часов
Однако Я хочу отобразить как 12-часовой формат с AM / PM, т. е. 1: 35 PM вместо 13: 35 PM



текущий код, как показано ниже



private static final int FOR_HOURS = 3600000;
private static final int FOR_MIN = 60000;
public String getTime(final Model model) {
SimpleDateFormat formatDate = new SimpleDateFormat("HH:mm a");
formatDate.setTimeZone(userContext.getUser().getTimeZone());
model.addAttribute("userCurrentTime", formatDate.format(new Date()));
final String offsetHours = String.format("%+03d:%02d", userContext.getUser().getTimeZone().getRawOffset()
/ FOR_HOURS, Math.abs(userContext.getUser().getTimeZone().getRawOffset() % FOR_HOURS / FOR_MIN));
model.addAttribute("offsetHours",
offsetHours + " " + userContext.getUser().getTimeZone().getDisplayName(Locale.ROOT));
return "systemclock";
}
870   13  

13 ответов:

самый простой способ получить его с помощью шаблона даты -h:mm a, где

  • ч-час в am / pm (1-12)
  • M - минута в час
  • A - Am/pm маркер

фрагмент кода :

DateFormat dateFormat = new SimpleDateFormat("hh:mm a");

подробнее о документации-SimpleDateFormat java 7

использовать SimpleDateFormat formatDate = new SimpleDateFormat("hh:mm a");

enter image description here

Java docs for SimpleDateFormat

использовать "hh:mm a" вместо "HH:mm a". Здесь hh для 12-часового формата и HH для 24-часового формата.

Live демо

SimpleDateFormat dateFormat = new SimpleDateFormat("dd-MMM-yy hh.mm.ss.S aa");
String formattedDate = dateFormat.format(new Date()).toString();
System.out.println(formattedDate);

выход: 11-Sep-13 12.25.15.375 PM

SimpleDateFormat formatDate = new SimpleDateFormat("hh:mm:ss a");
  • h используется для AM / PM раз (1-12).

  • H используется в течение 24 часов (1-24).

  • a-это маркер AM/PM

  • м в час

Примечание: два h будет печатать ведущий ноль: 01: 13 вечера. Один h будет печатать без ведущего нуля:1: 13 PM.

похоже, что в основном все уже опередили меня, но я отвлекаюсь

просто замените ниже заявление и он будет работать.

SimpleDateFormat formatDate = new SimpleDateFormat("hh:mm a");
// hh:mm will print hours in 12hrs clock and mins (e.g. 02:30)
System.out.println(DateTimeFormatter.ofPattern("hh:mm").format(LocalTime.now()));

// HH:mm will print hours in 24hrs clock and mins (e.g. 14:30)
System.out.println(DateTimeFormatter.ofPattern("HH:mm").format(LocalTime.now())); 

// hh:mm a will print hours in 12hrs clock, mins and AM/PM (e.g. 02:30 PM)
System.out.println(DateTimeFormatter.ofPattern("hh:mm a").format(LocalTime.now())); 

Использование Java 8:

LocalTime localTime = LocalTime.now();
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("hh:mm a");
System.out.println(localTime.format(dateTimeFormatter));

выход .

Sample output:  3:00 PM
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm a");

Это будет отображать дату и время

    //To get Filename + date and time


    SimpleDateFormat f = new SimpleDateFormat("MMM");
    SimpleDateFormat f1 = new SimpleDateFormat("dd");
    SimpleDateFormat f2 = new SimpleDateFormat("a");

    int h;
         if(Calendar.getInstance().get(Calendar.HOUR)==0)
            h=12;
         else
            h=Calendar.getInstance().get(Calendar.HOUR)

    String filename="TestReport"+f1.format(new Date())+f.format(new Date())+h+f2.format(new Date())+".txt";


The Output Like:TestReport27Apr3PM.txt
SimpleDateFormat sdf = new SimpleDateFormat("hh:mm:ss a");

чтобы поместить ваш текущий мобильный формат даты и времени в

9 февраля 2018 10:36: 59 PM

Date date = new Date();
 String stringDate = DateFormat.getDateTimeInstance().format(date);

вы можете показать его своим Activity,Fragment,CardView,ListView в любом месте с помощью TextView

` TextView mDateTime;

  mDateTime=findViewById(R.id.Your_TextViewId_Of_XML);

  Date date = new Date();
  String mStringDate = DateFormat.getDateTimeInstance().format(date);
  mDateTime.setText("My Device Current Date and Time is:"+date);

  `

вы можете использовать SimpleDateFormat для этого.

SimpleDateFormat formatDate = new SimpleDateFormat("hh:mm a");

надеюсь, что это поможет вам.

Comments

    Ничего не найдено.