Comment trouver le temps est aujourd'hui ou d'hier dans android
Iam développement d'une application pour l'envoi de sms. Iam le stockage de l'heure et de montrer à l'envoyé de l'histoire de la page par la récupération de l'heure à partir de la base de données. Dans l'envoyé de l'histoire de la page que je veux afficher le temps de le message a été envoyé. Ici je veux vérifier que le message a été envoyé aujourd'hui ou hier ou avant hier comme ça. Si le message a été envoyé hier, alors j'ai besoin d'afficher "Hier, 20:00", comme ça, et même le message a été envoyé hier avant signifie "lundi 20:00". Je ne sais pas comment il a à faire. Merci de m'aider si quelqu'un sait.
- Vous pouvez le faire avec Java
- veuillez afficher votre code que vous avez fait...
- Pouvez-vous me dire la façon de le faire?
- Je n'ai pas essayé le code mais
- Puisque vous n'avez pas essayé le code mais, vous ne savez pas de quoi vous aider à vous en aurez besoin. Poser une question est prématurée. Attendez de voir ce qui vous donne de la difficulté.
- chaque fois que vous extraire des données à partir de la base de données , extraire la dernière fois de la conversion en envoyés boîte
- Il suffit de trouver quelques tutoriels sur Java date/heure de la manipulation.
Vous devez vous connecter pour publier un commentaire.
Vous pouvez le faire facilement en utilisant android.texte.format.DateFormat classe. Essayez quelque chose comme ça.
Vérifier http://developer.android.com/reference/java/text/DateFormat.html pour plus de compréhension.
Pour vérifier si la date est aujourd'hui, l'utilisation d'Android utils bibliothèque
Ce utils de la classe offre également lisible par l'homme des chaînes pour la durée relative. Par exemple,
Il y a plusieurs paramètres que vous pouvez jouer avec de définir de façon précise la durée devrait être
Voir DateUtils
DateUtils.isToday(long millis)
fonctionne comme décrit par @Maragues, mais sachez, que si vous utilisez cette méthode dans un morceau de code que vous voulez de test de l'unité (comme un ViewModel ou un Présentateur), vous obtiendrez une RuntimeException lors de l'exécution de vos tests. Cela est dû au fait que la android.jar qui est utilisé pour les tests unitaires ne contiennent pas de code. Pour plus d'info lienComme mentionné,
DateUtils.isToday(d.getTime())
de travail pour déterminer siDate d
est aujourd'hui. Mais certaines réponses ici ne sont pas réellement répondre à la façon de déterminer si une date a été hier. Vous pouvez aussi le faire facilement avecDateUtils
:Par la suite, vous pouvez également déterminer si une date a été de demain:
Pour aujourd'hui, vous pouvez utiliser
DateUtils.isToday
de l'API android.Pour hier, vous pouvez utiliser ce code:
Vous pouvez essayer ceci:
PAS de libs utilisées
Hier
Aujourd'hui
Demain
Cette année
Toute l'année
C'est une méthode pour obtenir des Valeurs comme aujourd'Hui , d'Hier et la Date comme Whtsapp de l'application ont
D'utiliser cette méthode, il suffit de passer à la Milliseconde comme
Une autre façon de faire. Dans kotlin avec recommandé lib ThreeTen
Ajouter ThreeTen
Ajouter kotlin extensions.
je peux vous suggérer une chose. Lorsque u envoyer le sms de stocker les informations dans une base de données de sorte que u peut afficher la date et l'heure à laquelle le sms a été envoyé dans l'histoire de la page.
DateUtils.isToday()
devraient être considérées comme obsolètes parce queandroid.text.format.Time
est maintenant obsolète.Jusqu'à ce qu'ils mettent à jour le code source pour isToday, il n'y a pas de solution ici qui détecte aujourd'hui, hier, les poignées se décale vers/à partir de l'heure d'été, et ne pas utiliser de code obsolète. Ici, il est en Kotlin, à l'aide d'un
today
champ qui doit être mis à jour périodiquement (par exemple,onResume
etc):J'ai déposé https://code.google.com/p/android/issues/detail?id=227694&merci=227694&ts=1479155729, allez voter pour elle