Değeri Date()
yapıcıya koyarak bir unix zaman damgasını nesneye long
dönüştürebilirim Date()
. Örneğin: olarak alabilirim new Date(1318762128031)
.
Ancak bundan sonra Date()
nesneden unix zaman damgasını nasıl geri alabilirim ?
Değeri Date()
yapıcıya koyarak bir unix zaman damgasını nesneye long
dönüştürebilirim Date()
. Örneğin: olarak alabilirim new Date(1318762128031)
.
Ancak bundan sonra Date()
nesneden unix zaman damgasını nasıl geri alabilirim ?
Yanıtlar:
getTime()
1 Ocak 1970 GMT'nin kurucuya geçtiğinden bu yana geçen milisaniyeleri alır. Bundan Unix zamanını (aynı, ancak saniye cinsinden) elde etmek çok zor olmamalı .
getTime() = unixTimestamp * 1000
), getTime()
daima sonunda üç sıfırları dönecekti, ama aslında ile biten bir şey dönebilirsiniz 000
için 999
daha yüksek olan araçlar, milisaniyelerden kaynaklanan hassasiyet ve sadece "* 1000" değildir. Anlamı: Gerçek bir unixTimestamp * 1000'i sonuçla karşılaştırmak getTime()
, vakaların yalnızca ~% 0,1'inde başarılı olur.
Bir almak için timestamp
gelen Date()
, sen bölmek gerekir getTime()
tarafından 1000
, yani:
Date currentDate = new Date();
currentDate.getTime() / 1000;
// 1397132691
ya da sadece:
long unixTime = System.currentTimeMillis() / 1000L;
new Date().getTime()
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.TimeZone;
public class Timeconversion {
private DateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmm", Locale.ENGLISH); //Specify your locale
public long timeConversion(String time) {
long unixTime = 0;
dateFormat.setTimeZone(TimeZone.getTimeZone("GMT+5:30")); //Specify your timezone
try {
unixTime = dateFormat.parse(time).getTime();
unixTime = unixTime / 1000;
} catch (ParseException e) {
e.printStackTrace();
}
return unixTime;
}
}
Java 8'de, getEpochSecond
zaman damgasını almak için yeni tarih kitaplığını ve yöntemini kullanmak uygundur (saniyede)
Instant.now().getEpochSecond();
Instant
yerine istediğinizi değiştirmeniz gerekecek Instant.now()
. Veya eski bir API'den eski yourDesiredJavaUtilDate.toInstant()
moda bir şey aldıysanız Date
.
Bunu js veya java'da elde etmek isteyip istemediğinizi bilmiyorum, js'de unix zaman damgasını almanın en basit yolu (bu, 1/1/1970 tarihinden itibaren saniye cinsinden zamandır) aşağıdaki gibidir:
var myDate = new Date();
console.log(+myDate); // +myDateObject give you the unix from that date