Soru & Cevap

DateTime kullanımı ile ilgili

23.01.2014 - 02:39

http://millipiyango.gov.tr/sonuclar/cekilisler/sayisal/20140118.json

şu şekildeki bir json kaynağından  2014-01-18 tarihine göre veri çekiliyor. ve bu sayısal loto çekilişi olduğu için sadece haftada 1 kere ve cumartesi günleri çekiliyor. Peki ben bir listPicker içerisinde sadece cumartesi günlerini kullanıcıya seçtirmek istesem ve bu değeri stringe çevirip yukarıdaki url'nin gerekli yerine ekleyecek olsan nasıl yaparım? Default olarak da en son geçilen cumartesi gününü göstermeli.

 

15 Görüntülenme

2 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

Profile picture for user ercanbakac
ercanbakac
24.01.2014 - 03:55

Peki hocam listpickerin selected iteminin propertysini urlsuffix olarak nasıl alabilirim. listpickerdeki itemler LotoDay sınıfından.

picture-472-1375079047.jpg
mehmet.altiparmak
23.01.2014 - 07:32

Merhaba Ercan,

DateTime sınıfını kullanarak en yakın geçmiş Cumartesiyi bulabilirsin. Listede göstermek istediğin diğer cumartesiler için de 7 gün eklyerek ya da çıkararak diğer tarihleri elde edebilirsin. 

ListPicker'da göstermek için ben olsan şöyle yapardım, bir sınıf oluşturur ve içerisine DateTime tipinde bir property eklerdim get; ve set; methoduyla. Bunun yanında da bir String property, get methodu içerisinde de DateTime property'sini hangi formatta göstermek istiyorsam ona göre çevirip dönerdim. 

Örnek kod bloğu,

[code]

static void Main(string[] args)
        {
            var lastSaturday = DateTime.Now;
            while (lastSaturday.DayOfWeek != DayOfWeek.Saturday)
                lastSaturday = lastSaturday.AddDays(-1);

            var lotoDay = new LotoDay { Date = lastSaturday };            

            var lotoDates = new List<LotoDay>();
            lotoDates.Add(lotoDay);
            DateTime lastDate = lastSaturday;
            for (int i = 0; i < 9; i++)
            {
                lastDate = lastDate.AddDays(-7);
                lotoDates.Add(new LotoDay { Date = lastDate });
            }

            foreach (var lotoDate in lotoDates)
            {
                Console.WriteLine(lotoDate.DateRepresentation + " " + lotoDate.UrlSuffix);
            }
        }

        public class LotoDay
        {
            public DateTime Date { get; set; }
            public string DateRepresentation { get { return Date.ToString("d MMMMM dddd yyyy"); } }
            public string UrlSuffix { get { return Date.ToString("yyyyMMdd"); } }
        }

[/code]

Görsel kaldırıldı.

/sites/default/files/cevaplar/dosya/2020/file-capture.jpg