SORU
1 ŞUBAT 2010, PAZARTESİ


Nasıl Joda-Zaman ile şu andan itibaren geçen süreyi hesaplamak için?

Hesaplamak lazım# bu zamana kadar belirli bir tarihten itibaren geçen süreyive StackOverflow soru aynı biçimde görüntüleyin, örneğin:

15s ago
2min ago
2hours ago
2days ago
25th Dec 08

Java ile bunu başarmak için nasıl biliyor musunuzJoda-Time kütüphane? Zaten bunu uygulayan bir yardımcı yöntem var, ya da algoritmayı yazayım kendimi?

CEVAP
1 ŞUBAT 2010, PAZARTESİ


JodaTime ile geçen zamanı hesaplamak için Period kullanın. İstenen insan gösterimini geçen saat biçimi için PeriodFormatterBuilder tarafından inşa edebilen PeriodFormatter kullanın.

İşte maçın başlamasına bir örnek:

DateTime myBirthDate = new DateTime(1978, 3, 26, 12, 35, 0, 0);
DateTime now = new DateTime();
Period period = new Period(myBirthDate, now);

PeriodFormatter formatter = new PeriodFormatterBuilder()
    .appendSeconds().appendSuffix(" seconds ago\n")
    .appendMinutes().appendSuffix(" minutes ago\n")
    .appendHours().appendSuffix(" hours ago\n")
    .appendDays().appendSuffix(" days ago\n")
    .appendWeeks().appendSuffix(" weeks ago\n")
    .appendMonths().appendSuffix(" months ago\n")
    .appendYears().appendSuffix(" years ago\n")
    .printZeroNever()
    .toFormatter();

String elapsed = formatter.print(period);
System.out.println(elapsed);

Bu şimdiye kadar yazdırır

3 seconds ago
51 minutes ago
7 hours ago
6 days ago
10 months ago
31 years ago

(Öksürük, eski, öksürük)Hesaba ay ve yıl olarak aldığımı görürsünüz ve o sıfır olduğunda değerleri atlamak için yapılandırılmış.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • jeffisthecoolguy

    jeffisthecoo

    17 HAZİRAN 2013
  • Karan Thakur

    Karan Thakur

    23 HAZİRAN 2010
  • Vsauce

    Vsauce

    30 Temmuz 2007