J'ai écrit le code suivant
Date d = new Date();
CharSequence s = DateFormat.format("MMMM d, yyyy ", d.getTime());
Mais me demande un paramètre, je veux la date actuelle au format chaîne,
comme
28-Dec-2011
pour que je puisse me remettre TextView
,
expliquez un peu, si vous pensez que quelque chose est nécessaire, je suis nouveau dans le développement Android.
android
date
simpledateformat
android-date
Chatar Veer Suthar
la source
la source
DateFormat
classe était correcte lorsque cette question a été posée en 2011, cette classe et sa sousSimpleDateFormat
- classe étaient toujours gênantes et sont maintenant obsolètes depuis longtemps. Je vous recommande de ne pas les utiliser et de regarder plutôt dans java.time, l'API de date et d'heure Java moderne .Réponses:
Vous pouvez utiliser la
SimpleDateFormat
classe pour mettre en forme la date dans le format souhaité.Vérifiez simplement ce lien où vous avez une idée de votre exemple.
Par exemple:
Mettre à jour:
L'exemple détaillé est ici , je vous suggère de parcourir cet exemple et de comprendre le concept de classe SimpleDateFormat.
Solution finale:
la source
java.util.Date
,java.util.Calendar
etjava.text.SimpleDateFormat
sont maintenant héritées , supplantées par les classes java.time intégrées à Java 8 et versions ultérieures. Voir le didacticiel d'Oracle .Son code d' une ligne simple pour obtenir la date actuelle dans ce format aaaa-MM-jj , vous pouvez utiliser le format que vous voulez:
la source
Cela n'a rien à voir avec Android car il est basé sur Java, vous pouvez donc utiliser
la source
la source
essaye ça,
la source
Vous avez d'abord besoin d'une instance
la source
Fonctionne comme un charme et se convertit en String en bonus;)
la source
// importer la classe de date en tant que java.util
la source
Le code ci-dessous affiche l'heure et la date
la source
la source
J'apporte la réponse moderne.
java.time et ThreeTenABP
Pour obtenir la date actuelle:
Cela vous donne un
LocalDate
objet, que vous devez utiliser pour conserver une date dans votre programme. UNELocalDate
est une date sans heure de la journée.Uniquement lorsque vous devez afficher la date à un utilisateur, formatez-la dans une chaîne adaptée aux paramètres régionaux de l'utilisateur:
Lorsque j'ai exécuté cet extrait aujourd'hui dans les paramètres régionaux anglais américains, la sortie était:
Si vous voulez qu'il soit plus court, spécifiez
FormatStyle.MEDIUM
ou mêmeFormatStyle.SHORT
.DateTimeFormatter.ofLocalizedDate
utilise les paramètres régionaux de mise en forme par défaut, le fait est donc qu'il donnera une sortie adaptée à ces paramètres régionaux, différente pour différents 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:
J'utilise et je recommande java.time, l'API de date et d'heure Java moderne.
DateFormat
,SimpleDateFormat
,Date
EtCalendar
utilisé dans la question et / ou plusieurs des autres réponses, sont mal conçus et dépassée depuis longtemps. Et java.time est tellement plus agréable à utiliser.Question: Puis-je utiliser java.time sur Android?
Oui, java.time fonctionne bien sur les appareils Android plus anciens et plus récents. Il nécessite juste au moins Java 6 .
org.threeten.bp
sous-packages.Liens
java.time
été décrit pour la première fois.java.time
vers Java 6 et 7 (ThreeTen pour JSR-310).la source
DateTimeUtils.toDate(yourLocalDateTime.atZone(ZoneId.systemDefault()).toInstant())
. Si vous utilisez le java.time intégré:Date.from(yourLocalDateTime.atZone(ZoneId.systemDefault()).toInstant())
. Voir Conversion entre java.time.LocalDateTime et java.util.Date . La réponse faisant autorité de JodaStephen est là, ainsi qu'une réponse montrant l'utilisation du backport .la source
28-Dec-2011
) qui ne figure pas déjà dans les autres réponses? Dans tous les cas, il utilise toujours laSimpleDateFormat
classe notoirement gênante et obsolète depuis longtemps . S'il vous plaît, nous n'avons plus besoin de réponses pour cela.la source
Une simple modification de la solution de Paresh:
la source
la source
Vous pouvez utiliser le code suivant pour obtenir une date au format souhaité.
la source
Celui-ci est la meilleure réponse ...
la source
Le moyen le plus simple d'obtenir la date actuelle dans les paramètres régionaux actuels (paramètres régionaux de l'appareil!):
Si vous voulez avoir la date dans différents styles, utilisez
getDateInstance(int style)
:D' autres styles:
DateFormat.LONG
,DateFormat.DATE_FIELD
,DateFormat.DAY_OF_YEAR_FIELD
, etc. (utilisation CTRL+Spacevoir tous)Si vous avez également besoin de temps:
la source
la source
essayez avec ce lien de code, c'est une réponse absolument correcte pour tous les cas à la date et à l'heure. ou personnalisez la date et l'heure selon les besoins et les exigences de l'application.
essayez avec ce lien. essayez avec ce lien
la source
J'ai écrit une application de calendrier à l'aide de CalendarView et c'est mon code:
Le champ «calendrier» est mon CalendarView. Importations:
J'ai la date actuelle sans erreur.
la source
C'est le code que j'ai utilisé:
la source
J'ai déjà utilisé ceci:
au début, je reçois l'heure, puis j'ai déclaré un format de date simple (pour obtenir une date comme: 19-6-2018) puis j'utilise le format pour changer la date en chaîne.
la source
juste un code de ligne pour obtenir un format de date simple:
sortie: 18-mai-2020
sortie: 18-mai-2020 11:00:39 AM
sortie: 11:00:39 AM
J'espère que cette réponse est suffisante pour obtenir ce format de date et d'heure ... :)
la source
SimpleDateFormat
et lesDateFormat
cours dépassés depuis longtemps et notoirement gênants . Du moins pas comme première option. Et pas sans aucune réserve. Aujourd'hui, nous avons tellement mieux dansjava.time
l'API de date et d'heure Java moderne, et sesDateTimeFormatter
. Oui, vous pouvez l'utiliser sur Android. Pour les anciens appareils Android, consultez Comment utiliser ThreeTenABP dans Android Project .Voici le code que j'ai utilisé :
la source