web-dev-qa-db-fra.com

Comment puis-je obtenir la date actuelle dans Android?

J'ai écrit le code suivant

Date d = new Date();
CharSequence s  = DateFormat.format("MMMM d, yyyy ", d.getTime());

Mais me demande paramètre, je veux la date actuelle au format chaîne,

comme

28-Dec-2011

afin que je puisse mettre sur TextView,

expliquer un peu, si vous pensez que quelque chose est nécessaire, je suis nouveau à Android Développement.

139
Chatar Veer Suthar

Vous pouvez utiliser la classe SimpleDateFormat pour la date de formatage au format souhaité.

Il suffit de vérifier ce lien où vous obtenez une idée pour votre exemple.

Par exemple:

String dateStr = "04/05/2010"; 

SimpleDateFormat curFormater = new SimpleDateFormat("dd/MM/yyyy"); 
Date dateObj = curFormater.parse(dateStr); 
SimpleDateFormat postFormater = new SimpleDateFormat("MMMM dd, yyyy"); 

String newDateStr = postFormater.format(dateObj); 

Mise à jour:

L'exemple détaillé est ici , je vous suggérerais de lire cet exemple et de comprendre le concept de classe SimpleDateFormat.

Solution finale:

Date c = Calendar.getInstance().getTime();
System.out.println("Current time => " + c);

SimpleDateFormat df = new SimpleDateFormat("dd-MMM-yyyy");
String formattedDate = df.format(c);
349
Paresh Mayani

Son simple code d'une ligne pour obtenir la date actuelle dans ce format aaaa-MM-jj, vous pouvez utiliser le format de votre choix:

String date = new SimpleDateFormat("yyyy-MM-dd", Locale.getDefault()).format(new Date());
136

Cela n’a rien à voir avec Android, car il est basé sur Java et vous pouvez donc l'utiliser.

private String getDateTime() { 
   DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
   Date date = new Date(); 
   return dateFormat.format(date); 
}
28
Graham Smith
 public String giveDate() {
    Calendar cal = Calendar.getInstance();
    SimpleDateFormat sdf = new SimpleDateFormat("EEE, MMM d, yyyy");
    return sdf.format(cal.getTime());
 }
12
Kamal

essaye ça,

SimpleDateFormat timeStampFormat = new SimpleDateFormat("yyyyMMddHHmmssSS");
Date myDate = new Date();
String filename = timeStampFormat.format(myDate);
8
Lucifer

Fonctionne comme un charme et se transforme en String en bonus;)

SimpleDateFormat currentDate = new SimpleDateFormat("dd/MM/yyyy");
      Date todayDate = new Date();
    String thisDate = currentDate.format(todayDate);
6
TheVinceble
CharSequence s  = DateFormat.getDateInstance().format("MMMM d, yyyy ");

Vous avez besoin d'une instance en premier

6
Marthyn Olthof
 String date = new SimpleDateFormat("yyyy-MM-dd").format(new Date());

// importer la classe de date en tant que Java.util

5
arshad shaikh

Le code ci-dessous affiche l’heure et la date

Calendar cal = Calendar.getInstance();
cal.getTime().toString();
4
Rajeswari
SimpleDateFormat df = new SimpleDateFormat("dd-MMM-yyyy");
String date = df.format(Calendar.getInstance().getTime());
4
Zeeshan Ali
Calendar cal = Calendar.getInstance();      
Calendar dt = Calendar.getInstance(); 
dt.clear();
dt.set(cal.get(Calendar.YEAR), cal.get(Calendar.MONTH),cal.get(Calendar.DATE)); 
return dt.getTime();        
4
Vinayak

Une solution simple à Tweak to Paresh:

Date date = Calendar.getInstance().getTime();
SimpleDateFormat df = new SimpleDateFormat("dd-MMM-yyyy");
String formattedDate = df.format(date);
3
cNgamba

Vous pouvez utiliser le code suivant pour obtenir une date au format souhaité.

String date = String.valueOf(Android.text.format.DateFormat.format("dd-MM-yyyy", new Java.util.Date()));
2
Android Dev
Date c = Calendar.getInstance().getTime();
System.out.println("Current time => " + c);

SimpleDateFormat df = new SimpleDateFormat("dd-MMM-yyyy");
String formattedDate = df.format(c);

Celui-ci est la meilleure réponse ...

1
Fatima
Calendar c = Calendar.getInstance();
int day = c.get(Calendar.DAY_OF_MONTH);
int month = c.get(Calendar.MONTH);
int year = c.get(Calendar.YEAR);
String date = day + "/" + (month + 1) + "/" + year;

Log.i("TAG", "--->" + date);
1
rhaldar

Je fournis la réponse moderne.

Java.time et ThreeTenABP

Pour obtenir la date actuelle:

    LocalDate today = LocalDate.now(ZoneId.of("America/Hermosillo"));

Cela vous donne un objet LocalDate, que vous devriez utiliser pour garder une date dans votre programme. Un LocalDate est une date sans heure.

Seulement lorsque vous devez afficher la date à un utilisateur, formatez-la en une chaîne adaptée aux paramètres régionaux de l'utilisateur:

    DateTimeFormatter userFormatter
            = DateTimeFormatter.ofLocalizedDate(FormatStyle.LONG);
    System.out.println(today.format(userFormatter));

Lorsque j'ai lancé cet extrait aujourd'hui dans les paramètres régionaux anglais américain, le résultat était le suivant:

13 juillet 2019

Si vous voulez le raccourcir, spécifiez FormatStyle.MEDIUM ou même FormatStyle.SHORT. DateTimeFormatter.ofLocalizedDate utilise les paramètres régionaux de mise en forme par défaut. Par conséquent, le résultat est qu'il générera une sortie adaptée à ces paramètres, différente selon les paramètres régionaux.

Si votre utilisateur a des exigences très particulières pour le format de sortie, utilisez une chaîne de modèle de format:

    DateTimeFormatter userFormatter = DateTimeFormatter.ofPattern(
            "d-MMM-u", Locale.forLanguageTag("ar-AE"));

13 -1919

J'utilise et recommande Java.time, l'API de date et d'heure Java moderne. DateFormat, SimpleDateFormat, Date et Calendar utilisés dans la question et/ou dans de nombreuses autres réponses, sont mal conçus et périmés depuis longtemps. Et il est beaucoup plus agréable de travailler avec Java.time.

Question: Puis-je utiliser Java.time sur Android?

Oui, Java.time fonctionne bien sur les anciens et nouveaux appareils Android. Cela nécessite juste au moins Java 6 .

  • Dans Java 8 et versions ultérieures et sur les appareils plus récents Android (à partir de l'API de niveau 26), l'API moderne est intégrée.
  • Dans Java 6 et 7, récupérez ThreeTen Backport, le backport des classes modernes (ThreeTen pour JSR 310; voir les liens en bas).
  • Sur (ancien) Android, utilisez l'édition Android de ThreeTen Backport. Il s’appelle ThreeTenABP. Et assurez-vous d'importer les classes de date et d'heure à partir de org.threeten.bp avec des sous-packages.

Liens

1
Ole V.V.

C'est le code que j'ai utilisé:

             Date date = new Date();  // to get the date
             SimpleDateFormat df = new SimpleDateFormat("dd-MM-yyyy"); // getting date in this format
             String formattedDate = df.format(date.getTime());
             text.setText(formattedDate);
0
Savita Sharma

J'ai déjà utilisé ceci:

Date What_Is_Today=Calendar.getInstance().getTime();
SimpleDateFormat Dateformat = new SimpleDateFormat("dd-MM-yyyy");
String Today=Dateformatf.format(What_Is_Today);

Toast.makeText(this,Today,Toast.LENGTH_LONG).show();

au début, j'ai l'heure, puis j'ai déclaré un format de date simple (pour obtenir une date comme: 19-6-2018), puis j'ai utilisé le format pour changer la date en chaîne.

0
Farshid Ahmadi
 public static String getcurrentDateAndTime(){

        Date c = Calendar.getInstance().getTime();
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy/MM/dd");
        String formattedDate = simpleDateFormat.format(c);
        return formattedDate;
    }

// String currentdate=  getcurrentDateAndTime();
0
indrajeet jyoti

Le moyen le plus simple d’obtenir la date actuelle dans les paramètres régionaux actuels (paramètres régionaux du périphérique!):

String currentDate = DateFormat.getDateInstance().format(Calendar.getInstance().getTime());

Si vous voulez que la date soit dans différents styles, utilisez getDateInstance(int style):

DateFormat.getDateInstance(DateFormat.FULL).format(Calendar.getInstance().getTime());

Autres styles: DateFormat.LONG, DateFormat.DATE_FIELD, DateFormat.DAY_OF_YEAR_FIELD, etc. (utilisez CTRL+Space pour tous les voir)

Si vous avez aussi besoin de temps:

String currentDateTime = DateFormat.getDateTimeInstance(DateFormat.DEFAULT,DateFormat.LONG).format(Calendar.getInstance().getTime());
0
Ivo Stoyanov

essayez avec ce lien de code, c’est une réponse absolument correcte pour tous les cas, à la date et à l’heure. ou personnaliser la date et l'heure selon les besoins et les exigences de l'application.

essayez avec ce lien . essayez avec ce lien

0
Amitsharma
  public static String getDateTime() {
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("MMMM dd, yyyy HH:mm:ss", Locale.getDefault());
        Date date = new Date();
        return simpleDateFormat.format(date);
    }
0
Divyesh Patel

J'ai écrit l'application de calendrier à l'aide de CalendarView et c'est mon code:

CalendarView cal = (CalendarView) findViewById(R.id.calendar);
cal.setDate(new Date().getTime());

Le champ 'calendar' est mon CalendarView. Importations:

import Android.widget.CalendarView;
import Java.util.Date;

J'ai la date actuelle sans erreurs.

0
Muskovets