Ich möchte eine Funktion erstellen, die die Tage in Millisekunden umwandelt. Das Tagesformat wird als 0,2444 gespeichert. Wie kann es in Millisekunden konvertiert werden?
0.2444
was bedeutet es
Ich möchte eine Funktion erstellen, die die Tage in Millisekunden umwandelt. Das Tagesformat wird als 0,2444 gespeichert. Wie kann es in Millisekunden konvertiert werden?
0.2444
was bedeutet es
Antworten:
Die beste Vorgehensweise hierfür ist meiner Meinung nach:
TimeUnit.DAYS.toMillis(1); // 1 day to milliseconds.
TimeUnit.MINUTES.toMillis(23); // 23 minutes to milliseconds.
TimeUnit.HOURS.toMillis(4); // 4 hours to milliseconds.
TimeUnit.SECONDS.toMillis(96); // 96 seconds to milliseconds.
Neben den anderen Antworten gibt es auch die TimeUnit- Klasse, mit der Sie eine Zeitdauer in eine andere konvertieren können. Um beispielsweise herauszufinden, wie viele Millisekunden ein Tag ausmacht:
TimeUnit.MILLISECONDS.convert(1, TimeUnit.DAYS); //gives 86400000
Beachten Sie, dass diese Methode a dauert. long
Wenn Sie also einen Bruchteil eines Tages haben, müssen Sie ihn mit der Anzahl der Millisekunden an einem Tag multiplizieren.
24 Stunden = 86400 Sekunden = 86400000 Millisekunden. Multiplizieren Sie einfach Ihre Zahl mit 86400000.
Es ist wichtig zu erwähnen, dass diese Methode einmal in 4-5 Jahren aufgrund einer Schaltsekunde ( http://www.nist.gov/pml/div688/leapseconds.cfm ) und der richtigen Formel einen Fehler von 1 Sekunde ergeben kann für diesen Tag wäre
(24*60*60 + 1) * 1000
Es gibt eine Frage Werden Schaltsekunden vom Kalender berücksichtigt? und die Antwort ist nein.
Wenn Sie also super zeitabhängige Software entwerfen, achten Sie auf diese Formel.
int day = 5;
long dayInMilliseconds = day * org.apache.commons.lang.time.DateUtils.MILLIS_PER_DAY
Sie können diese Dienstprogrammklasse verwenden -
public class DateUtils
{
public static final long SECOND_IN_MILLIS = 1000;
public static final long MINUTE_IN_MILLIS = SECOND_IN_MILLIS * 60;
public static final long HOUR_IN_MILLIS = MINUTE_IN_MILLIS * 60;
public static final long DAY_IN_MILLIS = HOUR_IN_MILLIS * 24;
public static final long WEEK_IN_MILLIS = DAY_IN_MILLIS * 7;
}
Wenn Sie an Android Framework arbeiten, dann nur import
es (auch genannt DateUtils
) unterpackage android.text.format