Assalamu aleykum hurmatli dasturchilar, keling, DateTime bilan ishlashni to'liq va tushunarli qilib tushuntirib beraman. Har bir qadamni misollar bilan izohlab o'taman.
DateTime Obyektini Yaratish
Hozirgi Vaqtni Olish
DateTime.Now hozirgi sana va vaqtni qaytaradi.
DateTime now = DateTime.Now;
Console.WriteLine("Hozirgi vaqt: " + now);
Bu kod hozirgi kompyuter vaqti va sanasini ekranga chiqaradi.
Aniq Sana va Vaqtni Yaratish
DateTime konstruktoridan foydalanib, siz aniq bir sana va vaqtni o'rnatishingiz mumkin.
DateTime specificDate = new DateTime(2024, 7, 31, 14, 30, 0); // 2024 yil 31-iyul, 14:30:00
Console.WriteLine("Aniq sana va vaqt: " + specificDate);
Bu kod 2024 yil 31-iyul kuni soat 14:30:00 ni ifodalaydi.
Faqat Sana
Faqat sanani yaratish uchun vaqt qismini kiritmasdan ham DateTime obyektini yaratishingiz mumkin.
DateTime specificDateOnly = new DateTime(2024, 7, 31);
Console.WriteLine("Aniq sana: " + specificDateOnly.ToShortDateString());
Bu kod sanani 2024 yil 31-iyul qilib belgilaydi va vaqtni 00:00:00 qilib o'rnatadi.
DateTime Dan Turli Qismlarni Olish
Yil, Oy, Kun, Soat va Boshqalar
DateTime obyektining turli xususiyatlari yordamida yil, oy, kun va vaqt qismlarini ajratib olish mumkin.
DateTime now = DateTime.Now;
Console.WriteLine("Yil: " + now.Year);
Console.WriteLine("Oy: " + now.Month);
Console.WriteLine("Kun: " + now.Day);
Console.WriteLine("Soat: " + now.Hour);
Console.WriteLine("Daqiqa: " + now.Minute);
Console.WriteLine("Soniy: " + now.Second);
Bu kod hozirgi yil, oy, kun, soat, daqiqa va soniyani ekranga chiqaradi.
Sanalar Orasidagi Farqni Hisoblash
Kunlar Sonini Hisoblash
Sanalar orasidagi farqni hisoblash uchun ikki DateTime obyekti orasidagi ayirmani olish mumkin.
DateTime startDate = new DateTime(2024, 1, 1);
DateTime endDate = new DateTime(2024, 7, 31);
TimeSpan difference = endDate - startDate;
Console.WriteLine("Kunlar soni: " + difference.Days);
Bu kod 2024 yil 1-yanvardan 2024 yil 31-iyulgacha bo'lgan kunlar sonini hisoblaydi.
Vaqt Farqi
Sanalar orasidagi vaqt farqini aniqlash ham mumkin.
DateTime startTime = new DateTime(2024, 7, 31, 8, 0, 0); // 2024-07-31 08:00:00
DateTime endTime = new DateTime(2024, 7, 31, 17, 30, 0); // 2024-07-31 17:30:00
TimeSpan timeDifference = endTime - startTime;
Console.WriteLine("Soatlar soni: " + timeDifference.TotalHours);
Console.WriteLine("Daqiqalar soni: " + timeDifference.TotalMinutes);
Bu kod 2024 yil 31-iyul kuni soat 8:00 dan 17:30 gacha bo'lgan vaqt farqini hisoblaydi.
Sanani Formatlash
Oddiy Formatlar
ToString metodi yordamida sanani turli formatlarda chiqarish mumkin.
DateTime now = DateTime.Now;
Console.WriteLine("To'liq sana va vaqt: " + now.ToString());
Console.WriteLine("Yil/Oy/Kun: " + now.ToString("yyyy/MM/dd"));
Console.WriteLine("Kun-Oy-Yil: " + now.ToString("dd-MM-yyyy"));
Console.WriteLine("Soat:Daqiqa:Soniy: " + now.ToString("HH:mm:ss"));
Bu kod sanani turli formatlarda ekranga chiqaradi.
Maxsus Formatlar
ToString metodiga maxsus format stringini berish mumkin.
DateTime now = DateTime.Now;
string customFormat = "dddd, dd MMMM yyyy HH:mm:ss";
Console.WriteLine("Maxsus format: " + now.ToString(customFormat));
Bu kod sanani "Wednesday, 31 July 2024 14:30:00" kabi formatda chiqaradi.
Sana va Vaqtni Qo'shish va Ayirish
Sana va Vaqt Qo'shish
DateTime obyektiga turli vaqtlar qo'shish uchun AddDays, AddMonths, AddYears va boshqalar metodlaridan foydalanish mumkin.
DateTime now = DateTime.Now;
DateTime nextWeek = now.AddDays(7);
DateTime nextMonth = now.AddMonths(1);
DateTime nextYear = now.AddYears(1);
Console.WriteLine("Bir hafta keyin: " + nextWeek);
Console.WriteLine("Bir oy keyin: " + nextMonth);
Console.WriteLine("Bir yil keyin: " + nextYear);
Bu kod hozirgi vaqtga bir hafta, bir oy va bir yil qo'shib, yangi sanalarni hisoblaydi.
Sana va Vaqt Ayirish
Xuddi shu metodlar yordamida sanadan vaqt ayirish ham mumkin.
DateTime now = DateTime.Now;
DateTime lastWeek = now.AddDays(-7);
DateTime lastMonth = now.AddMonths(-1);
DateTime lastYear = now.AddYears(-1);
Console.WriteLine("Bir hafta oldin: " + lastWeek);
Console.WriteLine("Bir oy oldin: " + lastMonth);
Console.WriteLine("Bir yil oldin: " + lastYear);
Bu kod hozirgi sanadan bir hafta, bir oy va bir yil ayirib, yangi sanalarni hisoblaydi.
Umid qilamanki, bu tushuntirishlar va misollar sizga DateTime bilan ishlashni yaxshiroq tushunishga yordam beradi! Agar yana savollaringiz bo'lsa, bemalol so'rang.
Top comments (0)