web-dev-qa-db-fra.com

Affiche l'heure actuelle au format 12 heures avec AM/PM

Actuellement, l'heure affichée est 13:35 PM Cependant je souhaite afficher le format 12 heures avec AM/PM, c'est-à-dire 1:35 PM au lieu de 13:35 PM

Le code actuel est comme ci-dessous 

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

Meilleure façon de l'obtenir en utilisant un modèle de date - h:mm a, où 

  • h - Heure am/pm (1-12)
  • m - minute en heure
  • a - am/pm marqueur

Extrait de code :

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

En savoir plus sur la documentation - SimpleDateFormat Java 7

366

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

enter image description here

Documents Java pour SimpleDateFormat

99
Tarsem Singh

utilisez "hh:mm a" au lieu de "HH:mm a". Ici hh pour le format 12 heures et HH pour le format 24 heures.

Live Démo

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

Sortie: 11 sept. 13 25.25.15.375 PM

18
MansoorShaikh
SimpleDateFormat formatDate = new SimpleDateFormat("hh:mm:ss a");
  • h est utilisé pour les heures AM/PM (1-12).

  • H est utilisé pendant 24 heures (1-24).

  • a est le marqueur AM/PM 

  • m est minute en heure

Remarque: Deux heures seront imprimées un zéro initial: 13h13. Une heure sera imprimée sans le zéro de tête: 13h13.

En gros, tout le monde m'a déjà battu, mais je m'éloigne du sujet.

13
Johnny K
// 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())); 
7
Sucharith

Utilisation de Java 8:

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

La sortie est au format AM/PM.

Sample output:  3:00 PM
6
Bala

Il suffit de remplacer la déclaration ci-dessous et cela fonctionnera. 

SimpleDateFormat formatDate = new SimpleDateFormat("hh:mm a");
6
user2481237
    //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
3
alaguvel c
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm a");

Cela affichera la date et l'heure 

2
gopal

si vous voulez l'heure actuelle avec AM, PM dans Android utiliser

 String time = new SimpleDateFormat("hh : mm a", Locale.getDefault()).format(Calendar.getInstance().getTime())

si vous voulez l'heure actuelle avec am, pm 

String time = new SimpleDateFormat("hh : mm a", Locale.getDefault()).format(Calendar.getInstance().getTime()).toLowerCase();`enter code here`

OR

À partir du niveau 26 de l'API

 LocalTime localTime = LocalTime.now();
    DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("hh:mm a");
String time = localTime.format(dateTimeFormatter);
1
MarGin
SimpleDateFormat sdf = new SimpleDateFormat("hh:mm:ss a");
0
Raju Ahmed
import Java.text.SimpleDateFormat;
import Java.text.DateFormat;
import Java.util.Date;

public class Main {
   public static void main(String [] args){
       try {
            DateFormat parseFormat = new SimpleDateFormat("dd-MM-yyyy HH:mm a");
            String sDate = "22-01-2019 13:35 PM";
            Date date = parseFormat.parse(sDate);
            SimpleDateFormat displayFormat = new SimpleDateFormat("dd-MM-yyyy hh:mm a");
            sDate = displayFormat.format(date);
            System.out.println("The required format : " + sDate);
        } catch (Exception e) {}
   }
}
0

Pour mettre le format actuel de votre date et heure de mobile sur 

9 février 2018 10:36:59

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

vous pouvez le montrer à votre Activity, Fragment, CardView, ListView n'importe où en utilisant 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);

  `
0
abhishek jha