Comment obtenir la date et l’heure en millisecondes dans Android

J’essaye d’enregistrer mon fichier avec le nom comme date et heure actuelles en millisecondes. et en lisant le fichier que je veux lire le dernier.Voici le code

Calendar rightNow = Calendar.getInstance(); long offset = rightNow.get(Calendar.ZONE_OFFSET) + rightNow.get(Calendar.DST_OFFSET); Ssortingng sinceMidnight = Long.toSsortingng((rightNow.getTimeInMillis() + offset) % (24 * 60 * 60 * 1000)); return sinceMidnight+"_"+Filename; 

Je pense que tirer parti de cette fonctionnalité en utilisant Java

 long time= System.currentTimeMillis(); 

Cela retournera l’heure actuelle en mode millisecondes. cela fonctionnera sûrement

 long time= System.currentTimeMillis(); android.util.Log.i("Time Class ", " Time value in millisecinds "+time); 

Voici mon logcat utilisant la fonction ci-dessus

 05-13 14:38:03.149: INFO/Time Class(301): Time value in millisecinds 1368436083157 

Si vous avez un doute avec la valeur de la milliseconde.

EDIT : Time Zone J’ai utilisé pour démo le code IST (+05: 30), donc si vous vérifiez les milliseconds mentionnées dans le journal pour correspondre au temps dans le journal, vous pouvez obtenir une valeur différente en fonction du fuseau horaire de votre système

EDIT : C’est une approche simple, mais si vous avez besoin d’un fuseau horaire ou de tout autre détail, je pense que cela ne suffira pas. Voir également cette approche en utilisant l’API pour Android

Le problème est ce System. currentTimeMillis(); System. currentTimeMillis(); renvoie le nombre de millisecondes depuis le 1970-01-01T00: 00: 00Z, mais la new Date() indique l’heure locale actuelle. L’ajout de ZONE_OFFSET et de DST_OFFSET à partir de la classe Calendar vous donne l’heure en UTC.

 Calendar rightNow = Calendar.getInstance(); // offset to add since we're not UTC long offset = rightNow.get(Calendar.ZONE_OFFSET) + rightNow.get(Calendar.DST_OFFSET); long sinceMidnight = (rightNow.getTimeInMillis() + offset) % (24 * 60 * 60 * 1000); System.out.println(sinceMidnight + " milliseconds since midnight"); 

essaye ça

  Calendar c = Calendar.getInstance(); int mseconds = c.get(Calendar.MILLISECOND) 

une alternative serait

  Calendar rightNow = Calendar.getInstance(); long offset = rightNow.get(Calendar.ZONE_OFFSET) + rightNow.get(Calendar.DST_OFFSET); long sinceMid = (rightNow.getTimeInMils() + offset) % (24 * 60 * 60 * 1000); System.out.println(sinceMid + " milliseconds since midnight"); 
 Calendar calendar = Calendar.getInstance(); calendar.setTime(new Date()); int mSec = calendar.get(Calendar.MILLISECOND);