Comment convertir un timestamp en date et de l'heure en java?
J'ai un timestamp en json à partir d'un serveur Linux. Je voudrais le convertir en un simple format de date-heure à l'aide de Java.
J'ai besoin de la date et de l'heure dans le format suivant: jj-mm-aaaa hh:mm:ss
voici mes données JSON:
[
{
"batch_date": 1419038000
},
{
"batch_date": 1419037000
}
]
Comment êtes-vous de parser le Json? Regardez gson ou jackson
Veuillez éviter de poster étrangères d'infos et de données. Minimiser votre scénario au minimum nécessaire pour démontrer votre problème. Voir Comment faire pour créer un Minimum, Complète et Vérifiable exemple.
Veuillez éviter de poster étrangères d'infos et de données. Minimiser votre scénario au minimum nécessaire pour démontrer votre problème. Voir Comment faire pour créer un Minimum, Complète et Vérifiable exemple.
OriginalL'auteur pavaniiitn | 2015-06-23
Vous devez vous connecter pour publier un commentaire.
Du lot date de
ressemble secondes à partir de l'époque,
donc
ensuite utiliser SimpleDateFormat devrait faire l'affaire
-- code --
-- output --
HH
, pashh
.fixe merci
pouvons-nous lire le timestamp? sans l'aide de ces DateFormats. Je veux dire juste en le regardant, pouvons-nous dire de quelle année ou le mois ou la date à laquelle il est ressemblant.
l'horodatage est, en secondes, depuis 1970/01/01 donc oui, si vous avez les compétences, vous pouvez travailler sur, mais pourquoi le feriez-vous?
OriginalL'auteur Scary Wombat
Pas Un Tel Type De Données
Il n'y a pas une telle chose comme "JSON" d'horodatage. JSON a très peu de types de données définis par. Aucune date n'temps-types entre eux.
Comme le bonne Réponse en Effrayant Wombat unis, votre numéro est apparemment un nombre de secondes depuis l'époque Unix de 1970. La java.util.Classe Date des pistes temps comme le nombre de millisecondes depuis le L'époque Unix, plutôt qu'en secondes. Donc, vous devez multiplier par 1000. Vous avez également besoin de traiter avec
long
entiers (64-bit), plutôt que deint
(32-bit). Ajouter une majusculeL
pour les littéraux numériques, et déclarer toutes les variables commelong
.La java.util.Date/.Calendrier des classes sont très gênants. Ils sont aujourd'hui supplanté par le java.en temps intégré dans Java 8 et les versions ultérieures, et/ou de la 3e partie Joda-Time bibliothèque.
Divers JSON-traitement des bibliothèques en charge les convertisseurs pour la création de java.de temps ou de Joda-Time objets. Ou vous pouvez effectuer une conversion dans votre code, illustré ci-dessous.
Être conscient que java.temps et Joda-Time prend en charge l'attribution d'un fuseau horaire. Le Code ci-dessous affecte UTC pour les besoins de la démonstration, mais vous pouvez attribuer vos souhaité ou attendu de la zone.
Joda-Time
Voici un peu de code dans Joda-Time 2.8.1 montrant l'utilisation de votre numéro d'entrée comme des secondes ou millisecondes.
De vidage de la console.
Lors de l'exécuter.
java.temps
Code similaire à ci-dessus, mais en utilisant java.le temps de Java 8.
De vidage de la console.
Lors de l'exécuter.
Bonne info pour le commentaire à propos de fuseau Horaire ! Je me demandais pourquoi je obtenir 01:13:20.000 Z et non 10:13:20 (aussi Effrayant Wombat ) pour la partie temps !
OriginalL'auteur Basil Bourque
lorsque l'on veut lire/analyser une chaîne de valeur en tant que date, nous devrions connaître le format de la date de la chaîne d'entrée, sinon on va se tromper de date de valeur.
batch_date:1419038000
qu'est-ce que le format de la date de cette valeur ?
Si nous voulons obtenir la valeur de la date dans le format requis, comme dans votre cas, 'dd-mm-yyyy hh:mm:ss'. il y a deux manières possibles.
1) demande batch_date valeur doit être dans votre format requis. ou
2) si batch_date valeur est un autre format, il faut connaître le format d'origine, et de construire un objet Date avec le format d'origine à l'aide de SimpleDateFormat méthode d'analyse, puis de le convertir dans le format requis à l'aide d'un autre SimpleDateFormat méthode de mise en forme.
OriginalL'auteur kswaughs