tl; Dr.
Instant.ofEpochSecond( 1_280_512_800L )
2010-07-30T18: 00: 00Z
java.time
Java 8 ve sonraki sürümlerinde oluşturulan yeni java.time çerçevesi Joda-Time'ın halefidir.
Bu yeni sınıflar , çağdan tam saniyenin bir sayısını dönüştürmek için kullanışlı bir fabrika yöntemini içerir . InstantUTC'deki zaman çizelgesinde nanosaniye çözünürlüğe kadar bir an alırsınız .
Instant instant = Instant.ofEpochSecond( 1_280_512_800L );
instant.toString (): 2010-07-30T18: 00: 00Z
Bu kodun IdeOne.com'da canlı yayınlandığını görün .

Asia/Kabul veya Asia/Tehran zaman dilimleri?
Burada görülen saat 18:00 yerine saat 22:30 değerini aldınız. PHP yardımcı programı dolaylı olarak UTC ayarlamak için varsayılan bir saat dilimi uyguluyor şüpheli. Buradaki değerim, Z(kısa Zulu, UTC anlamına gelir) ile belirtilen UTC'dir. Makineniz OS veya PHP ayarlandığında herhangi bir şans Asia/Kabulya da Asia/Tehranzaman dilimleri? Sanırım IRSTçıktılarınızda rapor ettiğiniz gibi , bu İran zamanı anlamına geliyor. Şu anda 2017'de UTC'den dört buçuk saat önce yaz saati ile çalışan tek bölgeler bunlar .
Bir belirtme uygun bir zaman dilimi adı biçiminde continent/regiongibi America/Montreal, Africa/Casablancaya da Pacific/Auckland. 3-4 harfli bir kısaltma kullanmayın gibi ESTya ISTya IRSToldukları gibi değil , gerçek zaman dilimleri, değil standardize ve hatta benzersiz değil (!).
Eğer varsa istediğiniz belirli bir bölgenin zaman dilimine lensleri vasıtasıyla an görmek, bir geçerli ZoneIdbir olsun ZonedDateTime. Hala aynı anda, ama farklı bir duvar saati zamanı olarak görülüyor .
ZoneId z = ZoneId.of( "Asia/Tehran" ) ;
ZonedDateTime zdt = instant.atZone( z ); // Same moment, same point on timeline, but seen as different wall-clock time.
2010-07-30T22: 30 + 04: 30 [Asya / Tahran]
Java.time'dan eski sınıflara dönüştürme
Yeni java.time sınıflarına sadık kalmalısınız. Ancak gerekirse eski haline dönüştürebilirsiniz.
java.util.Date date = java.util.Date.from( instant );
Joda-Time
GÜNCELLEME: Joda-Time projesi şu anda bakım modunda ve ekip java.time'a geçişi tavsiye ediyor sınıflarına .
Joda-Time DateTime yapıcısı FYI benzer: Bir long(değil int!) Üretmek için bin ile çarpın .
DateTime dateTime = new DateTime( ( 1_280_512_800L * 1000_L ), DateTimeZone.forID( "Europe/Paris" ) );
Kötü niyetli java.util.Date ve .Calendar sınıflarından kaçınmak en iyisidir. Ancak bir Tarih kullanmanız gerekiyorsa, Joda-Time'dan dönüştürebilirsiniz.
java.util.Date date = dateTime.toDate();
Hakkında java.time
Java.time çerçevesi daha sonra Java 8 ve yerleşiktir. Bu sınıflar zahmetli eski yerini mirası gibi tarih-saat sınıfları java.util.Date, Calendar& SimpleDateFormat.
Artık bakım modunda olan Joda-Time projesi java.time sınıflarına geçişi tavsiye ediyor .
Daha fazla bilgi için Oracle Eğiticisine bakın . Ve birçok örnek ve açıklama için Stack Overflow'da arama yapın. Spesifikasyon JSR 310'dur .
Sen değiştirebilir java.time sizin veritabanı ile doğrudan nesneleri. JDBC 4.2 veya üzeri ile uyumlu bir JDBC sürücüsü kullanın . Dizeye gerek yok, sınıflara gerek yok .java.sql.*
Java.time sınıflarını nereden edinebilirsiniz?
- Java SE 8 , Java SE 9 ve üstü
- Dahili.
- Paketlenmiş bir uygulamaya sahip standart Java API'sinin bir parçasıdır.
- Java 9 bazı küçük özellikler ve düzeltmeler ekler.
- Java SE 6 ve Java SE 7
- Android
- Android'in sonraki sürümleri java.time sınıflarının uygulamalarını bir araya getirir.
- Daha önceki Android için (<26), ThreeTenABP projesi , ThreeTen-Backport'u (yukarıda belirtilen) uyarlar . Bkz . ThreeTenABP nasıl kullanılır… .
ThreeTen-Ekstra proje ek sınıfları ile java.time uzanır. Bu proje, java.time'a gelecekteki olası eklemeler için bir kanıt zeminidir. Burada bazı yararlı sınıfları gibi bulabilir Interval, YearWeek, YearQuarter, ve daha .