Dart
Tarih yardımcıları
DateTime işleme metotlarını eklersin.
formatDate metodu
Tarihleri tek biçimde göstermek için formatDate metodu yazacağız. formatDate(year, month, day), YYYY-MM-DD biçiminde bir dizge döndürür; tek haneli ay ve günler sıfırla doldurulur.
Örnek: formatDate(2024, 5, 1) → '2024-05-01'. Ay ve gün için padLeft(2, '0') kullanırız: 5.toString().padLeft(2, '0') sonucu '05''tir. padLeft, dizgeyi belirli bir uzunluğa tamamlar; eksik kalan sol karakterleri verilen karakterle doldurur. Bu sayede tarihler tek satırda biçimlenir.
Dizge birleştirme
formatDate, yıl, ay ve günü tek bir dizgede birleştirir. Dart'ta dizge birleştirme için iki yol yaygındır: + operatörü ve dizge interpolasyonu.
Örnek: '$year-$m-$d'. Burada $year, $m, $d değişkenleri doğrudan dizgeye gömülür. Tireler olduğu gibi yazılır. Bu yapı, + operatöründen daha okunaklıdır: year.toString() + '-' + m + '-' + d. İnterpolasyon, özellikle birden çok değişkenin araya sabit karakterlerin girdiği durumlarda temiz bir yazım sunar.
Uygulama Helper'a formatDate ekle
Var olan Helper sınıfını koru. Sınıfa String formatDate(int year, int month, int day) metodunu ekle. Gövdede var m = month.toString().padLeft(2, '0');, var d = day.toString().padLeft(2, '0'); ve return '$year-$m-$d'; satırlarını yaz. main içinde var h = Helper(); ile örnek oluştur ve print(h.formatDate(2024, 5, 1)) çağrısı yap.
Örnek çözümü göster
class Helper {
final String version;
Helper() : version = '1.0';
String slugify(String text) {
return text.toLowerCase().replaceAll(' ', '-');
}
int clamp(int value, int min, int max) {
if (value < min) return min;
if (value > max) return max;
return value;
}
String formatDate(int year, int month, int day) {
var m = month.toString().padLeft(2, '0');
var d = day.toString().padLeft(2, '0');
return '$year-$m-$d';
}
}
void main() {
var h = Helper();
print(h.formatDate(2024, 5, 1));
}
Kendini test et
-
formatDate parçalarını eşle
- formatDate
- Metot adı
- padLeft(2, '0')
- Sıfır dolgu
- 2024-05-01
- Çıktı
-
padLeft çağrısını tamamla
var m = month.toString().____(2, '0');
Cevabı göster
var m = month.toString().padLeft(2, '0');
-
formatDate(2024, 5, 1) ne döndürür?
- 2024-5-1
- 2024/05/01
- 05-01-2024
- 2024-05-01
Cevabı göster
2024-05-01 — padLeft ay ve günü sıfırla doldurur; ayraç tiredir.
Sıradaki ders: Birleştirme