Giriş
Şu satırı dahil ederiz.
Instant yerine UTC zaman dilimini kullanan ZonedDateTime da kullanılabilir. Şöyle yaparız.
Instant Nesnesinden ZonedDateTime Nesnesine Çevrim yazısına taşıdım
getEpochSecond metodu
Açıklaması şöyle. Yani getEpochSecond () + getNano() epoch'tan beri geçen tüm süreyi ifade eder.
Örnek ver
isBefore metodu
Örnek
Şöyle yaparız.
Şöyle yaparız.
Şöyle yaparız.
Şöyle yaparız.
Şöyle yaparız.
Belirtilen saniyeden bir Instant nesnesi oluşturur.
Örnek
Şöyle yaparız.
Şöyle yaparız
Örnek
Mikrosaniyeden yaratmak için şöyle yaparız.
Belirtilen milisaniyeden bir Instant nesnesi oluşturur. Metodun içi şöyle.
Şöyle yaparız.
Örnek
Şöyle bir string'i başarıyla çevirir.
Şöyle yaparız.
Bu sınıfın plusHours() diye bir metodu yok. Oracle örnekler yanlış. Şöyle yaparız.
Çıktı olarak Yıl+Ay+Gün+Saat+Dakika+Saniye(double) verir.
Örnek
Şöyle yaparız.
Şöyle yaparız.
Örnek
Şöyle yaparız.
Şöyle yaparız.
Şu satırı dahil ederiz.
import java.time.Instant;
Açıklaması şöyleThe Instant class is always in UTC by definition.Açıklaması şöyle
The Instant class is a basic building-block class, indicating a moment on the timeline in UTC. Usually when performing manipulations such as adding hours, you’ll likely want to account for anomalies such as Daylight Saving Time, and so you will care about time zone. For that, use the ZonedDateTime class.Bu sınıf UTC zaman çizgisindeki bir noktayı temsil eder. Eski Date ve Calendar sınıfları milisaniye seviyesinde çözünürlük sağlarken bu sınıf nanosaniye seviyesinde çözünürlük sağlayabilir.
Instant yerine UTC zaman dilimini kullanan ZonedDateTime da kullanılabilir. Şöyle yaparız.
ZonedDateTime zdt = ZonedDateTime.now(ZoneOffset.UTC);
atZone metoduInstant Nesnesinden ZonedDateTime Nesnesine Çevrim yazısına taşıdım
getEpochSecond metodu
Açıklaması şöyle. Yani getEpochSecond () + getNano() epoch'tan beri geçen tüm süreyi ifade eder.
Şöyle yaparız.The range of an instant requires the storage of a number larger than a long. To achieve this, the class stores a long representing epoch-seconds and an int representing nanosecond-of-second, which will always be between 0 and 999,999,999.
long unixTimestamp = Instant.now().getEpochSecond();
getNano metoduÖrnek ver
isBefore metodu
Örnek
Şöyle yaparız.
Instant now = Instant.parse("2018-06-21T08:40:00.00Z");
Instant then = now.minus(9, ChronoUnit.HOURS);
if (then.isBefore(now)) {
...
}
minus metodu
ÖrnekŞöyle yaparız.
// two weeks ago
long pastTimestamp = Instant.now().minus(14, ChronoUnit.DAYS).getEpochSecond();
ÖrnekŞöyle yaparız.
Instant now = Instant.parse("2018-06-21T08:40:00.00Z");
Instant then = now.minus(9, ChronoUnit.HOURS);
now metoduŞöyle yaparız.
Instant now = Instant.now();
Veritabanına UTC saati yazmak için şöyle yaparız.myPreparedStatement.setObject( … , Instant.now() ) ;
now metodu - ClockŞöyle yaparız.
Instant now = Instant.now ( Clock.systemUTC () );
Instant now = Instant.now ( Clock.system ( ZoneId.of ( "America/Montreal" ) ) );
Instant now = Instant.now ( Clock.systemDefaultZone () );
Hepsi aynı sonucu verir.ofEpochSecond metodu - saniyeinstantClockSystemUTC.toString(): 2016-12-31T20:52:39.763ZinstantClockSystem.toString(): 2016-12-31T20:52:39.763ZinstantClockSystemDefaultZone.toString(): 2016-12-31T20:52:39.763Z
Belirtilen saniyeden bir Instant nesnesi oluşturur.
Örnek
Şöyle yaparız.
Instant instant = Instant.ofEpochSecond( 1220227200L);
ÖrnekŞöyle yaparız
System.out.println(Instant.ofEpochSecond(1512431637067L));
// far future: +49897-01-18T19:11:07Z
ofEpochSecond metodu - saniye + nanosaniyeÖrnek
Mikrosaniyeden yaratmak için şöyle yaparız.
Instant.ofEpochSecond(TimeUnit.MICROSECONDS.toSeconds(microseconds),
TimeUnit.MICROSECONDS.toNanos(microseconds)
-
TimeUnit.SECONDS.toNanos(TimeUnit.MICROSECONDS.toSeconds(microseconds)
)
ofEpochMili metoduBelirtilen milisaniyeden bir Instant nesnesi oluşturur. Metodun içi şöyle.
public static Instant ofEpochMilli(long epochMilli) {
long secs = Math.floorDiv(epochMilli, 1000);
int mos = (int)Math.floorMod(epochMilli, 1000);
return create(secs, mos * 1000_000);
}
ÖrnekŞöyle yaparız.
System.out.println(Instant.ofEpochMilli(1512431637067L));
// output: 2017-12-04T23:53:57.067Z
parse metoduÖrnek
Şöyle bir string'i başarıyla çevirir.
2016-10-21T00:00:00ZÖrnek
Şöyle yaparız.
Instant now = Instant.parse("2018-06-21T08:40:00.00Z");
plus metoduBu sınıfın plusHours() diye bir metodu yok. Oracle örnekler yanlış. Şöyle yaparız.
Instant later = instant.plus( 1 , ChronoUnit.HOURS ) ;
toString metoduÇıktı olarak Yıl+Ay+Gün+Saat+Dakika+Saniye(double) verir.
Örnek
Şöyle yaparız.
Instant instant = Instant.now (); // Current date-time in UTC.
String output = instant.toString ();
Çıktı olarak şunu alırız.Örnek2016-05-06T23:24:25.694Z
Şöyle yaparız.
System.out.println(Instant.ofEpochMilli(1512431637067L));
// output: 2017-12-04T23:53:57.067Z
truncatedTo metoduÖrnek
Şöyle yaparız.
import static java.time.temporal.ChronoUnit.DAYS;
final Map<Instant, List<Entry>> entries =
list.stream().collect(Collectors.groupingBy(request ->
request.getDate().toInstant().truncatedTo(DAYS)));
Çıktı olarak şunu alırız.2011-03-21
VALUE1
2011-03-21
VALUE2
2011-03-22
VALUE3
VALUE4
2011-03-21
VALUE5
ÖrnekŞöyle yaparız.
Instant start = ...;
Instant target = ...;
if (!target.truncatedTo(ChronoUnit.DAYS).equals(start.truncatedTo(ChronoUnit.DAYS))) {
...
}
Hiç yorum yok:
Yorum Gönder