Değeri Date()yapıcıya koyarak bir unix zaman damgasını nesneye longdö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 longdö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 000için 999daha 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 timestampgelen 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, getEpochSecondzaman damgasını almak için yeni tarih kitaplığını ve yöntemini kullanmak uygundur (saniyede)
Instant.now().getEpochSecond();
Instantyerine 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