SORU
27 Temmuz 2011, ÇARŞAMBA


Java nasıl bir Tarih gece yarısı bugün ve yarın gece yarısı nesne oluşturmak için?

Benim kod bugün yaşanan tüm şeyler bulmam lazım. 12:00-00:00 (gece yarısı bu sabah erken saatlerde) bugün (gece yarısı) tarihleri karşılaştırmak lazım.

Biliyorum

Date today = new Date(); 

... beni alır şimdi. Ve ...

Date beginning = new Date(0);

... bana Jan sıfır zaman 1, 1970 alır. Ama zaman zaman sıfır sıfır bugün ve yarın için kolay bir yolu nedir?

Herhangi bir yardım büyük beğeni topluyor!

Ben yaptım ama daha kolay bir yolu var elbette. GÜNCELLEME;?

Calendar calStart = new GregorianCalendar();
calStart.setTime(new Date());
calStart.set(Calendar.HOUR_OF_DAY, 0);
calStart.set(Calendar.MINUTE, 0);
calStart.set(Calendar.SECOND, 0);
calStart.set(Calendar.MILLISECOND, 0);
Date midnightYesterday = calStart.getTime();

Calendar calEnd = new GregorianCalendar();
calEnd.setTime(new Date());
calEnd.set(Calendar.DAY_OF_YEAR, calEnd.get(Calendar.DAY_OF_YEAR) 1);
calEnd.set(Calendar.HOUR_OF_DAY, 0);
calEnd.set(Calendar.MINUTE, 0);
calEnd.set(Calendar.SECOND, 0);
calEnd.set(Calendar.MILLISECOND, 0);
Date midnightTonight = calEnd.getTime();

CEVAP
27 Temmuz 2011, ÇARŞAMBA


java.açıklama.Takvim

// today    
Calendar date = new GregorianCalendar();
// reset hour, minutes, seconds and millis
date.set(Calendar.HOUR_OF_DAY, 0);
date.set(Calendar.MINUTE, 0);
date.set(Calendar.SECOND, 0);
date.set(Calendar.MILLISECOND, 0);

// next day
date.add(Calendar.DAY_OF_MONTH, 1);

8 - java ile İLGİLENİYORUZ.zaman.LocalTime ve java.zaman.LocalDate

    LocalTime midnight = LocalTime.MIDNIGHT;
    LocalDate today = LocalDate.now(ZoneId.of("Europe/Berlin"));
    LocalDateTime todayMidnight = LocalDateTime.of(today, midnight);
    LocalDateTime tomorrowMidnight = todayMidnight.plusDays(1);

Joda-Zaman

Eğer komple cam < kullanıyorsanız; 8, API gerçekten güzel çünkü Joda Time, tavsiye ederim:

DateTime date = new DateTime().toDateMidnight().toDateTime();
DateTime tomorrow = date.plusDays(1);

Joda Zaman sürüm 2.3 beri DateMidnightkaldırılmışyani bunu kullanın:

DateTime today = new DateTime().withTimeAtStartOfDay();
DateTime tomorrow = today.plusDays(1).withTimeAtStartOfDay();

Eğer JVM mevcut varsayılan saat dilimi istemezsin diye bir saat dilimi geçer.

DateTimeZone timeZone = DateTimeZone.forID("America/Montreal");
DateTime today = new DateTime(timeZone).withTimeAtStartOfDay(); // Pass time zone to constructor.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • ThreadBanger

    ThreadBanger

    2 Mart 2007
  • TokShogun

    TokShogun

    6 HAZİRAN 2009
  • Whizzpopping

    Whizzpopping

    10 Kasım 2005