DEV Community

Cover image for C# da DataTime bilan ishlash
islomAli99
islomAli99

Posted on

C# da DataTime bilan ishlash

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);

Enter fullscreen mode Exit fullscreen mode

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);

Enter fullscreen mode Exit fullscreen mode

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());

Enter fullscreen mode Exit fullscreen mode

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);

Enter fullscreen mode Exit fullscreen mode

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);

Enter fullscreen mode Exit fullscreen mode

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);

Enter fullscreen mode Exit fullscreen mode

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"));

Enter fullscreen mode Exit fullscreen mode

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));

Enter fullscreen mode Exit fullscreen mode

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);

Enter fullscreen mode Exit fullscreen mode

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);

Enter fullscreen mode Exit fullscreen mode

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)