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

  • Good Creative Academy

    Good Creativ

    19 Kasım 2009
  • Hey Nadine

    Hey Nadine

    24 Kasım 2006
  • RickardRick

    RickardRick

    9 Mart 2007