String.Format methodu ve Datetime gösterimleri

Çoğu zaman projelerimizde sayıları, tarih alanlarını veya string tipindeki birçok ifadeyi belli bir formata göre yazmak isteriz. String.Format()  methoduyla bunu gerçekleştirebiliriz. Formatlamada formatlama yapacağımız veri türü önemlidir, mesela sayı formatlarında double veya int, tarih için datetime, metin için ise string türünde değişkenlerinin girilmesi gerekir. 

Örnek olarak tarih alanını gün/ay/yıl formatında yazdıracağız ve farklı gösterimler için nasıl kullanılacağına bakacağız. Benimde bloğumda kullandığım bir methottur. Çünkü varsayılan Datetime tipindeki zaman gösteriminde göstermek istemediğim gereksiz alanlar bulunuyor, gösterimin istediğiniz şekillerde olması için yada karakter sınırı gibi kısıtlarınız olduğunda gayet işe yarar bir method halini alıyor.

Örnek Tarih Formatları aşağıdaki gibidir.


             FORMAT                                    SONUÇ
------------------------------          -------------------------------------- 
String.Format("{0:t}", dt);                   // "4:05 PM"
String.Format("{0:d}", dt);                // "3/9/2008"
String.Format("{0:T}", dt);                // "4:05:07 PM"
String.Format("{0:D}", dt);              // "Sunday, March 09, 2008"
String.Format("{0:f}", dt);                 // "Sunday, March 09, 2008 4:05 PM"
String.Format("{0:F}", dt);               // "Sunday, March 09, 2008 4:05:07 PM"
String.Format("{0:g}", dt);                // "3/9/2008 4:05 PM"
String.Format("{0:G}", dt);               // "3/9/2008 4:05:07 PM"
String.Format("{0:m}", dt);             // "March 09"
String.Format("{0:y}", dt);              // "March, 2008"
String.Format("{0:r}", dt);                // "Sun, 09 Mar 2008 16:05:07"
String.Format("{0:s}", dt);             // "2008-03-09T16:05:07"
String.Format("{0:u}", dt);            // "2008-03-09 16:05:07Z"

 

Örnek : Datetime tipinde  25.03.2015 16:10:11 şeklinde bir tarih alanımız var. 
Fakat biz bu tarih alanını farklı formatlarda göstermek istiyoruz. Yukarıdaki gibi String.Format methodunu ve gösterim şekillerini kullanarak, gösterimi sağlıcaz.

[Default.aspx] sayfamız aşağıdaki gibi olacaktır.

<asp:Label ID="Label1" runat="server"></asp:Label>
<br />
<asp:Label ID="Label2" runat="server"></asp:Label>

[Default.aspx.cs] sayfası da aşağıdaki gibi olacaktır. 

Label1.Text=String.Format("{0:M}",DateTime.Now);

Label2.Text = DateTime.Now.ToString();

Çıktımız aşağıdaki gibi olacaktır.

25 Mart 
25.03.2015 16:10:11 

 

Gördüğümüz gibi String.Format() methodu kullarak daha optimum bir gösterime sahip olduk.

Yorumlar