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.
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);
L'exemple détaillé est ici , je vous suggérerais de lire cet exemple et de comprendre le concept de classe SimpleDateFormat.
Date c = Calendar.getInstance().getTime();
System.out.println("Current time => " + c);
SimpleDateFormat df = new SimpleDateFormat("dd-MMM-yyyy");
String formattedDate = df.format(c);
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());
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);
}
public String giveDate() {
Calendar cal = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("EEE, MMM d, yyyy");
return sdf.format(cal.getTime());
}
essaye ça,
SimpleDateFormat timeStampFormat = new SimpleDateFormat("yyyyMMddHHmmssSS");
Date myDate = new Date();
String filename = timeStampFormat.format(myDate);
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);
CharSequence s = DateFormat.getDateInstance().format("MMMM d, yyyy ");
Vous avez besoin d'une instance en premier
String date = new SimpleDateFormat("yyyy-MM-dd").format(new Date());
// importer la classe de date en tant que Java.util
Le code ci-dessous affiche l’heure et la date
Calendar cal = Calendar.getInstance();
cal.getTime().toString();
SimpleDateFormat df = new SimpleDateFormat("dd-MMM-yyyy");
String date = df.format(Calendar.getInstance().getTime());
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();
Une solution simple à Tweak to Paresh:
Date date = Calendar.getInstance().getTime();
SimpleDateFormat df = new SimpleDateFormat("dd-MMM-yyyy");
String formattedDate = df.format(date);
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()));
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 ...
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);
Je fournis la réponse moderne.
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.
Oui, Java.time fonctionne bien sur les anciens et nouveaux appareils Android. Cela nécessite juste au moins Java 6 .
org.threeten.bp
avec des sous-packages.Java.time
a été décrit pour la première fois.Java.time
à Java 6 et 7 (ThreeTen pour JSR-310).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);
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.
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();
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());
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
public static String getDateTime() {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("MMMM dd, yyyy HH:mm:ss", Locale.getDefault());
Date date = new Date();
return simpleDateFormat.format(date);
}
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.