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