Күндермен және уақыттармен жұмыс
Автор: makhsotovv02 • Февраль 9, 2021 • Лекция • 863 Слов (4 Страниц) • 493 Просмотры
Тақырып 15. Күндермен және уақыттармен жұмыс.
15.1 DateTime құрылымы
DateTime құрылымы .NET-те күндермен және уақыттармен жұмыс істеуге арналған. Ол 0001 жылдың 1 қаңтары 00:00:00 мен 9999 жылғы 31 желтоқсан 23:59:59 дейінгі күн мен уақытты білдіреді.
1-суретте DateTime класымен жұмыс істеуге арналған листинг пен бағдарламаның орындалу нәтижесі көрсетілген.
Сондай-ақ жаңа DateTime объектісін құру үшін конструкторды пайдалануға болады. Бос конструктор басталу күнін жасайды (1-сурет, 8-жол).
Мүмкін болатын ең төменгі мәнді келесідей алуға болады (1-сурет, 10-жол):
Console.WriteLine(DateTime.MinValue);
Белгілі бір күнді белгілеу үшін параметрлер қабылдайтын конструкторлардың бірін қолдану керек (1-сурет, 12-жол).
Уақыт 1-суреттің 15-жолында көрсетілгендей орнатылады.
Егер сізге ағымдағы уақыт пен күнді алу қажет болса, сіз DateTime бірқатар қасиеттерін пайдалана аласыз (1-сурет, 17-19-жолдар).
[pic 1]
1 сурет - DateTime сыныбымен жұмыс
DateTime.Now қасиеті компьютердің ағымдағы күні мен уақытын, DateTime.UtcNow - күн мен уақытты Гринвичтің орташа уақытымен (GMT), ал DateTime.Today - тек ағымдағы күнді алады.
Күндермен жұмыс жасағанда, күндерді көрсетудің әдепкі мәні - Григориан күнтізбесі екенін ескеріңіз. Бірақ егер біз аптаның күнін 1582 жылдың 5 қазанына алғымыз келсе, не болады (1-сурет, 20-жол).
Консоль сейсенбі болатын мәнді көрсетеді. Алайда, тарихтан белгілі болғандай, Джулиан күнтізбесінен Григорианға алғашқы ауысу 1582 жылы қазан айында болды. Содан кейін 4 қазан (бейсенбі) күнінен кейін (тіпті Джулиан күнтізбесі бойынша) олар бірден 15 қазанға (жұма) көшті (қазірдің өзінде Григориан күнтізбесі бойынша). Осылайша, іс жүзінде 10 күн лақтырылды. Яғни, 4 қазаннан кейін ол 15 қазанда өтті.
Көп жағдайда бұл факт есептеулерге қандай да бір әсер етуі екіталай, бірақ осы аспектімен жұмыс істеу кезінде оны ескеру қажет.
15.2 DateTime операциялары
DateTime құрылымындағы негізгі операцияларға күндерді қосу немесе азайту кіреді. Мысалы, белгілі бір күнге бірнеше күн қосу керек немесе керісінше алып тастау керек.
Күндерді қосу үшін 1-кестеде көрсетілгендей бірқатар әдістер қолданылады.
Кесте 1 - Күндерді қосу әдістері
Әдістің атауы | Әдістің сипаттамасы |
Add(DateTime date) | күнді қосады date |
AddDays(double value) | ағымдағы күнге бірнеше күн қосады |
AddHours(double value) | ағымдағы күнге бірнеше сағат қосады |
AddMinutes(double value) | ағымдағы күнге бірнеше минут қосады |
AddMonths(int value) | ағымдағы күнге бірнеше ай қосады |
AddYears(int value) | ағымдағы күнге бірнеше жыл қосады |
Мысалы, бір күнге 3 сағат қосайық (2-сурет, 8-10-жолдар).
[pic 2]
2-сурет - DateTime-мен операциялар
Күндерді шегеру үшін Substract (DateTime дата) әдісін қолданыңыз (2-сурет, 11-15-жолдар).
Мұнда күндер үш сағатқа ерекшеленеді, сондықтан нәтиже «03:00:00» болады.
Substract күндерді, сағаттарды және басқаларын бөлек алып тастау мүмкіндігі жоқ. Бірақ бұл қажет емес, өйткені біз AddDays () әдісіне теріс мәндерді қосудың басқа әдістерін қолдана аламыз (1-сурет, 17-19-жолдар):
Қосу және азайту операцияларынан басқа, күнді форматтаудың бірқатар әдістері де бар (1-сурет, 20-26-жолдар).
ToLocalTime () әдісі UTC-ді жергілікті уақытқа Гринвичтің орташа уақытымен ауыстыруды қосу арқылы түрлендіреді. Керісінше, ToUniversalTime () әдісі жергілікті уақытты UTC-ге түрлендіреді, яғни Гринвичтің орташа уақытынан ығысуды азайтады. Қалған әдістер күнді белгілі бір форматқа ауыстырады.
...