0
votes

Java Millis Time avec une résolution horaire

Comment puis-je obtenir Java Time Millis dans UTC en ignorant les minutes et les secondes.

Par exemple: S'il est le 10 octobre 2019, 1:10:59, il devrait obtenir le l'heure ou le millis pour 10 octobre 2019, 1 heure du matin.


3 commentaires

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.


4 Réponses :


2
votes

Vous pouvez utiliser localDate # Attime code>: xxx pré>

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>

var currentTime = LocalDateTime.now();
var currentDate = currentTime.toLocalDate();


9 commentaires

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 objet 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 () 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 ? Il n'y a pas de classe de classe dans la bibliothèque standard Java aussi loin que je suis au courant. Voulez-vous dire localtime ? localDateTime ? 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 () 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



-2
votes

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;
}


2 commentaires

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 classe. Au moins pas comme la première option. Et non sans aucune réservation. Aujourd'hui, nous avons tellement mieux dans java.time , le Java moderne API DATE ET TEMPS API, et son DateTimeformatter .



1
votes

É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: xxx

Notez que si l'horloge est pour avant l'époque, cela tournera up à 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.

(J'ai écrit cette réponse avant de voir la réponse de OLE VV avec tronqué sur , qui est une très belle approche.)


0 commentaires

5
votes

Résumé:

Rough milliseconds:                        1570604053787
Milliseconds ignoring minutes and seconds: 1570600800000


0 commentaires