Comment puis-je obtenir Java Time Millis dans UTC en ignorant les minutes et les secondes. P>
Par exemple:
S'il est le 10 octobre 2019, 1:10:59, il devrait obtenir le l'heure code> ou le millis pour
10 octobre 2019, 1 heure du matin. P>
4 Réponses :
Vous pouvez utiliser Ceci vous donnera la date actuelle avec heure et minutes et secondes réglées sur 0. P> Et pour obtenir des millisecondes dans UTC: p> localDate # Attime code>:
var currentTime = LocalDateTime.now();
var currentDate = currentTime.toLocalDate();
Il veut bien l'exclure complètement de la chaîne de sortie. Je recommanderais simplement d'utiliser un formateur avec un motif de format qui n'inclut pas les minutes et les secondes du tout.
Je veux un code> objet code> objet ou millis. Mais il devrait être utc
@Zabuza je suis d'accord, mais je ne vois pas explicitement que cela devrait être converti en chaîne
En utilisant maintenant () code> deux fois comme celui-ci est toujours dangereux, car si l'horloge roule de 23:59:00 à 00:00:00 Vous pouvez retourner un résultat de près de 24 heures.
@NoviceUser: Qu'entendez-vous par un objet code> code>? Il n'y a pas de classe code> de classe dans la bibliothèque standard Java aussi loin que je suis au courant. Voulez-vous dire localtime code>?
localDateTime code>? C'est là que cela serait utile si vous pouviez montrer ce que vous avez déjà essayé - cela fera plus de précisole ce que vous essayez de réaliser.
@Jonskeet je voulais dire que Millis est désolé pour la confusion
@Jonskeet merci d'avoir remarqué le boîtier d'angle, édité la réponse
En ce qui concerne actuelTime.tolocaldate () code> Comment cela va-t-il s'assurer d'utiliser UTC?
@NoviceUser c'est, lorsque votre demande est dans UTC, sinon vous devriez le convertir en premier
Ceci est la méthode qui ignore le temps et la menthe secondaire et renvoie l'heure UTC
private static SimpleDateFormat dateToString = new SimpleDateFormat("yyyy-MM-dd"); public static String dateToString(Date date) { dateToString.setTimeZone(TimeZone.getTimeZone("UTC ")); String strDate = ""; strDate = dateToString.format(date); return strDate; }
Cela ne montre pas du tout l'heure - et cela retourne une chaîne, pas les millisecondes.
S'il vous plaît, n'enseigne pas les jeunes à utiliser le long obsolète et notoirement gênant SimpleDateDeformat code> classe. Au moins pas comme la première option. Et non sans aucune réservation. Aujourd'hui, nous avons tellement mieux dans
java.time code>, le Java moderne API DATE ET TEMPS API,
et son DateTimeformatter code>.
Étant donné que vous êtes intéressé par UCC millisecondes, et il y a un nombre total de millisecondes par heure, vous pouvez le faire avec une simple arithmétique. Pour la plupart des calculs calendriers, je ne recommanderais vraiment pas que, dans ce cas, je pense que c'est l'approche la plus simple. Quelque chose comme ceci: Notez que si l'horloge est pour avant em> l'époque, cela tournera up em> à l'heure la plus proche, mais Si vous prenez l'authentique "heure actuelle", il est peu probable qu'il s'agisse d'être un problème. p> (J'ai écrit cette réponse avant de voir la réponse de OLE VV avec tronqué sur code>, qui est une très belle approche.) p> p>
Résumé:
Rough milliseconds: 1570604053787 Milliseconds ignoring minutes and seconds: 1570600800000
Avez-vous essayé quelque chose?
S'il vous plaît voir Comment demander , vous devez faire preuve d'effort avant de poser une question à une question, merci.
Je recommanderais à 1. Analyser l'entrée, 2. Formatez la sortie. Utilisez simplement un modèle de format qui exclut les minutes et les secondes, faites.