Дата и время: различия между версиями
Sidminik (обсуждение | вклад) Нет описания правки |
Sidminik (обсуждение | вклад) |
||
| (не показано 8 промежуточных версий этого же участника) | |||
| Строка 1: | Строка 1: | ||
Для установки конкретной даты можно использовать конструкторы структуры <code>DateTime</code> | ==Установка конкретной даты== | ||
Для установки конкретной даты можно использовать: | |||
*конструкторы структуры <code>DateTime</code>; | |||
<syntaxhighlight lang="csharp"> | :<syntaxhighlight lang="csharp"> | ||
new DateTime(год, месяц, день, часы, минуты, секунды); | new DateTime(год, месяц, день, часы, минуты, секунды); | ||
</syntaxhighlight> | </syntaxhighlight> | ||
*функцию <code>ToDateTime</code> (подробнее в разделе [[Конвертирование]]); | |||
*функцию <code>DateSerial</code> (рассматривается ниже). | |||
==Информация о времени== | |||
*при использовании функций для преобразования даты из данного раздела по умолчанию сохраняется и информация о времени; | |||
*для удаления времени из даты можно воспользоваться функциями <code>Format</code> или <code>FormatDateTime</code> (более подробная информация об этих функциях представлена в разделе [[Форматирование]]). | |||
<div style="background-color: #e7f3ff; border-left: 5px solid #2196f3; padding: 15px; margin: 10px 0;"> | |||
'''Примечание''' | |||
В качестве примера использования поля из базы данных в функциях будет использоваться поле <code>[Employees.BirthDate]</code> | В качестве примера использования поля из базы данных в функциях будет использоваться условное поле <code>[Employees.BirthDate]</code>: | ||
<syntaxhighlight lang="text"> | <syntaxhighlight lang="text"> | ||
[Employees.BirthDate] = 27.01.1986 | [Employees.BirthDate] = 27.01.1986 | ||
</syntaxhighlight> | </syntaxhighlight> | ||
</div> | |||
== AddDays == | == AddDays == | ||
| Строка 24: | Строка 32: | ||
Добавляет к дате <code>date</code> количество дней <code>value</code> и возвращает новую дату. | Добавляет к дате <code>date</code> количество дней <code>value</code> и возвращает новую дату. | ||
Пример: | '''Пример:''' | ||
<syntaxhighlight lang="csharp"> | <syntaxhighlight lang="csharp"> | ||
AddDays(new DateTime(2024,4,2), 2) = 04.04.2024 0:00:00 | AddDays(new DateTime(2024,4,2), 2) = 04.04.2024 0:00:00 | ||
| Строка 42: | Строка 50: | ||
Добавляет к дате <code>date</code> количество часов <code>value</code> и возвращает новую дату. | Добавляет к дате <code>date</code> количество часов <code>value</code> и возвращает новую дату. | ||
Пример: | '''Пример:''' | ||
<syntaxhighlight lang="csharp"> | <syntaxhighlight lang="csharp"> | ||
AddHours(new DateTime(2024,4,2,5,30,5), 1) = 02.04.2024 6:30:05 | AddHours(new DateTime(2024,4,2,5,30,5), 1) = 02.04.2024 6:30:05 | ||
| Строка 60: | Строка 68: | ||
Добавляет к дате <code>date</code> количество минут <code>value</code> и возвращает новую дату. | Добавляет к дате <code>date</code> количество минут <code>value</code> и возвращает новую дату. | ||
Пример: | '''Пример:''' | ||
<syntaxhighlight lang="csharp"> | <syntaxhighlight lang="csharp"> | ||
AddMinutes(new DateTime(2024,4,2,5,30,5), 10) = 02.04.2024 5:40:05 | AddMinutes(new DateTime(2024,4,2,5,30,5), 10) = 02.04.2024 5:40:05 | ||
| Строка 78: | Строка 86: | ||
Добавляет к дате <code>date</code> количество месяцев <code>value</code> и возвращает новую дату. | Добавляет к дате <code>date</code> количество месяцев <code>value</code> и возвращает новую дату. | ||
Пример: | '''Пример:''' | ||
<syntaxhighlight lang="csharp"> | <syntaxhighlight lang="csharp"> | ||
AddMonths(new DateTime(2024,4,2,5,30,5), 2) = 02.06.2024 5:30:05 | AddMonths(new DateTime(2024,4,2,5,30,5), 2) = 02.06.2024 5:30:05 | ||
| Строка 96: | Строка 104: | ||
Добавляет к дате <code>date</code> количество секунд <code>value</code> и возвращает новую дату. | Добавляет к дате <code>date</code> количество секунд <code>value</code> и возвращает новую дату. | ||
Пример: | '''Пример:''' | ||
<syntaxhighlight lang="csharp"> | <syntaxhighlight lang="csharp"> | ||
AddSeconds(new DateTime(2024,4,2,5,30,5), 10) = 02.04.2024 5:30:15 | AddSeconds(new DateTime(2024,4,2,5,30,5), 10) = 02.04.2024 5:30:15 | ||
| Строка 114: | Строка 122: | ||
Добавляет к дате <code>date</code> количество лет <code>value</code> и возвращает новую дату. | Добавляет к дате <code>date</code> количество лет <code>value</code> и возвращает новую дату. | ||
Пример: | '''Пример:''' | ||
<syntaxhighlight lang="csharp"> | <syntaxhighlight lang="csharp"> | ||
AddYears(new DateTime(2024,4,2,5,30,5), 3) = 02.04.2027 5:30:05 | AddYears(new DateTime(2024,4,2,5,30,5), 3) = 02.04.2027 5:30:05 | ||
| Строка 132: | Строка 140: | ||
Возвращает интервал — количество дней, часов, минут, секунд между двумя датами. | Возвращает интервал — количество дней, часов, минут, секунд между двумя датами. | ||
Пример: | '''Пример:''' | ||
<syntaxhighlight lang="csharp"> | <syntaxhighlight lang="csharp"> | ||
DateDiff(new DateTime(2024,4,2,5,0,0), new DateTime(2025,1,2,5,30,5)) = -275.00:30:05 | DateDiff(new DateTime(2024,4,2,5,0,0), new DateTime(2025,1,2,5,30,5)) = -275.00:30:05 | ||
| Строка 148: | Строка 156: | ||
|} | |} | ||
Создает новое значение DateTime из указанных года (year), месяца (month) и дня (day). | Создает новое значение <code>DateTime</code> из указанных года (<code>year</code>), месяца (<code>month</code>) и дня (<code>day</code>). | ||
Еще один доступный способ для установки конкретной даты. | Еще один доступный способ для установки конкретной даты. | ||
Пример: | '''Пример:''' | ||
<syntaxhighlight lang="csharp"> | <syntaxhighlight lang="csharp"> | ||
DateSerial(2024,4,2) = 02.04.2024 0:00:00 | DateSerial(2024,4,2) = 02.04.2024 0:00:00 | ||
| Строка 168: | Строка 176: | ||
Извлекает день месяца (1-31) из указанной даты. | Извлекает день месяца (1-31) из указанной даты. | ||
Пример: | '''Пример:''' | ||
<syntaxhighlight lang="csharp"> | <syntaxhighlight lang="csharp"> | ||
Day(new DateTime(2024,4,2)) = 2 | Day(new DateTime(2024,4,2)) = 2 | ||
| Строка 186: | Строка 194: | ||
Возвращает название дня недели (понедельник..воскресенье) указанной даты. | Возвращает название дня недели (понедельник..воскресенье) указанной даты. | ||
Пример: | '''Пример:''' | ||
<syntaxhighlight lang="csharp"> | <syntaxhighlight lang="csharp"> | ||
DayOfWeek(new DateTime(2024,4,2)) = "вторник" | DayOfWeek(new DateTime(2024,4,2)) = "вторник" | ||
| Строка 204: | Строка 212: | ||
Возвращает порядковый номер дня в году (1-365) в указанной дате. | Возвращает порядковый номер дня в году (1-365) в указанной дате. | ||
Пример: | '''Пример:''' | ||
<syntaxhighlight lang="csharp"> | <syntaxhighlight lang="csharp"> | ||
DayOfYear(new DateTime(2024,4,2)) = 93 | DayOfYear(new DateTime(2024,4,2)) = 93 | ||
| Строка 222: | Строка 230: | ||
Возвращает количество дней в месяце month указанного года year. | Возвращает количество дней в месяце month указанного года year. | ||
Пример: | '''Пример:''' | ||
<syntaxhighlight lang="csharp"> | <syntaxhighlight lang="csharp"> | ||
DaysInMonth(2024, 4) = 30 | DaysInMonth(2024, 4) = 30 | ||
| Строка 238: | Строка 246: | ||
Извлекает час (0-23) из указанной даты. | Извлекает час (0-23) из указанной даты. | ||
Пример: | '''Пример:''' | ||
<syntaxhighlight lang="csharp"> | <syntaxhighlight lang="csharp"> | ||
Hour(new DateTime(2024,4,2,5,30,5)) = 5 | Hour(new DateTime(2024,4,2,5,30,5)) = 5 | ||
| Строка 256: | Строка 264: | ||
Извлекает минуты (0-59) из указанной даты. | Извлекает минуты (0-59) из указанной даты. | ||
Пример: | '''Пример:''' | ||
<syntaxhighlight lang="csharp"> | <syntaxhighlight lang="csharp"> | ||
Minute(new DateTime(2024,4,2,5,30,5)) = 30 | Minute(new DateTime(2024,4,2,5,30,5)) = 30 | ||
| Строка 274: | Строка 282: | ||
Извлекает месяц (1-12) из указанной даты. | Извлекает месяц (1-12) из указанной даты. | ||
Пример: | '''Пример:''' | ||
<syntaxhighlight lang="csharp"> | <syntaxhighlight lang="csharp"> | ||
Month(new DateTime(2024,4,2)) = 4 | Month(new DateTime(2024,4,2)) = 4 | ||
| Строка 290: | Строка 298: | ||
|} | |} | ||
Возвращает локализованное название месяца (Январь..Декабрь) с номером month. | Возвращает локализованное название месяца (Январь..Декабрь) с номером <code>month</code>. | ||
Пример: | '''Пример:''' | ||
<syntaxhighlight lang="csharp"> | <syntaxhighlight lang="csharp"> | ||
MonthName(1) = "Январь" | MonthName(1) = "Январь" | ||
| Строка 308: | Строка 316: | ||
Извлекает секунды (0-59) из указанной даты. | Извлекает секунды (0-59) из указанной даты. | ||
Пример: | '''Пример:''' | ||
<syntaxhighlight lang="csharp"> | <syntaxhighlight lang="csharp"> | ||
Second(new DateTime(2024,4,2,5,30,5)) = 5 | Second(new DateTime(2024,4,2,5,30,5)) = 5 | ||
| Строка 326: | Строка 334: | ||
Извлекает год из указанной даты. | Извлекает год из указанной даты. | ||
Пример: | '''Пример:''' | ||
<syntaxhighlight lang="csharp"> | <syntaxhighlight lang="csharp"> | ||
Year(new DateTime(2024,4,2)) = 2024 | Year(new DateTime(2024,4,2)) = 2024 | ||
Текущая версия от 03:42, 19 октября 2026
Установка конкретной даты
Для установки конкретной даты можно использовать:
- конструкторы структуры
DateTime;
new DateTime(год, месяц, день, часы, минуты, секунды);
- функцию
ToDateTime(подробнее в разделе Конвертирование); - функцию
DateSerial(рассматривается ниже).
Информация о времени
- при использовании функций для преобразования даты из данного раздела по умолчанию сохраняется и информация о времени;
- для удаления времени из даты можно воспользоваться функциями
FormatилиFormatDateTime(более подробная информация об этих функциях представлена в разделе Форматирование).
Примечание
В качестве примера использования поля из базы данных в функциях будет использоваться условное поле [Employees.BirthDate]:
[Employees.BirthDate] = 27.01.1986
AddDays
| Функция | Параметры | Возвращаемое значение |
|---|---|---|
AddDays |
DateTime date, double value |
DateTime
|
Добавляет к дате date количество дней value и возвращает новую дату.
Пример:
AddDays(new DateTime(2024,4,2), 2) = 04.04.2024 0:00:00
AddDays(ToDateTime("2.4.2024"), 2) = 04.04.2024 0:00:00
AddDays([Employees.BirthDate], 2) = 29.01.1986 0:00:00
AddHours
| Функция | Параметры | Возвращаемое значение |
|---|---|---|
AddHours |
DateTime date, double value |
DateTime
|
Добавляет к дате date количество часов value и возвращает новую дату.
Пример:
AddHours(new DateTime(2024,4,2,5,30,5), 1) = 02.04.2024 6:30:05
AddHours(ToDateTime("2.4.2024 5:30:05"), 1) = 02.04.2024 6:30:05
AddHours([Employees.BirthDate], 1) = 27.01.1986 1:00:00
AddMinutes
| Функция | Параметры | Возвращаемое значение |
|---|---|---|
AddMinutes |
DateTime date, double value |
DateTime
|
Добавляет к дате date количество минут value и возвращает новую дату.
Пример:
AddMinutes(new DateTime(2024,4,2,5,30,5), 10) = 02.04.2024 5:40:05
AddMinutes(ToDateTime("2.4.2024 5:30:05"), 10) = 02.04.2024 5:40:05
AddMinutes([Employees.BirthDate], 10) = 27.01.1986 0:10:00
AddMonths
| Функция | Параметры | Возвращаемое значение |
|---|---|---|
AddMonths |
DateTime date, int value |
DateTime
|
Добавляет к дате date количество месяцев value и возвращает новую дату.
Пример:
AddMonths(new DateTime(2024,4,2,5,30,5), 2) = 02.06.2024 5:30:05
AddMonths(ToDateTime("2.4.2024 5:30:05"), 2) = 02.06.2024 5:30:05
AddMonths([Employees.BirthDate], 2) = 27.03.1986 0:00:00
AddSeconds
| Функция | Параметры | Возвращаемое значение |
|---|---|---|
AddSeconds |
DateTime date, double value |
DateTime
|
Добавляет к дате date количество секунд value и возвращает новую дату.
Пример:
AddSeconds(new DateTime(2024,4,2,5,30,5), 10) = 02.04.2024 5:30:15
AddSeconds(ToDateTime("2.4.2024 5:30:05"), 10) = 02.04.2024 5:30:15
AddSeconds([Employees.BirthDate], 10) = 27.01.1986 0:00:10
AddYears
| Функция | Параметры | Возвращаемое значение |
|---|---|---|
AddYears |
DateTime date, int value |
DateTime
|
Добавляет к дате date количество лет value и возвращает новую дату.
Пример:
AddYears(new DateTime(2024,4,2,5,30,5), 3) = 02.04.2027 5:30:05
AddYears(ToDateTime("2.4.2024 5:30:05"), 3) = 02.04.2027 5:30:05
AddYears([Employees.BirthDate], 3) = 27.01.1989 0:00:00
DateDiff
| Функция | Параметры | Возвращаемое значение |
|---|---|---|
DateDiff |
DateTime date1, DateTime date2 |
TimeSpan
|
Возвращает интервал — количество дней, часов, минут, секунд между двумя датами.
Пример:
DateDiff(new DateTime(2024,4,2,5,0,0), new DateTime(2025,1,2,5,30,5)) = -275.00:30:05
DateDiff(ToDateTime("2.1.2025 5:30:05"), ToDateTime("2.4.2024 5:00:00")) = 275.00:30:05
DateDiff(ToDateTime("2.4.2024 5:00:00"), [Employees.BirthDate]) = 13945.05:00:00
DateSerial
| Функция | Параметры | Возвращаемое значение |
|---|---|---|
DateSerial |
int year, int month, int day |
DateTime
|
Создает новое значение DateTime из указанных года (year), месяца (month) и дня (day).
Еще один доступный способ для установки конкретной даты.
Пример:
DateSerial(2024,4,2) = 02.04.2024 0:00:00
Day
| Функция | Параметры | Возвращаемое значение |
|---|---|---|
Day |
DateTime date |
int
|
Извлекает день месяца (1-31) из указанной даты.
Пример:
Day(new DateTime(2024,4,2)) = 2
Day(ToDateTime("2.4.2024")) = 2
Day([Employees.BirthDate]) = 27
DayOfWeek
| Функция | Параметры | Возвращаемое значение |
|---|---|---|
DayOfWeek |
DateTime date |
string
|
Возвращает название дня недели (понедельник..воскресенье) указанной даты.
Пример:
DayOfWeek(new DateTime(2024,4,2)) = "вторник"
DayOfWeek(ToDateTime("2.4.2024")) = "вторник"
DayOfWeek([Employees.BirthDate]) = "понедельник"
DayOfYear
| Функция | Параметры | Возвращаемое значение |
|---|---|---|
DayOfYear |
DateTime date |
int
|
Возвращает порядковый номер дня в году (1-365) в указанной дате.
Пример:
DayOfYear(new DateTime(2024,4,2)) = 93
DayOfYear(ToDateTime("2.4.2024")) = 93
DayOfYear([Employees.BirthDate]) = 27
DaysInMonth
| Функция | Параметры | Возвращаемое значение |
|---|---|---|
DaysInMonth |
int year, int month |
int
|
Возвращает количество дней в месяце month указанного года year.
Пример:
DaysInMonth(2024, 4) = 30
Hour
| Функция | Параметры | Возвращаемое значение |
|---|---|---|
Hour |
DateTime date |
int
|
Извлекает час (0-23) из указанной даты.
Пример:
Hour(new DateTime(2024,4,2,5,30,5)) = 5
Hour(ToDateTime("2.4.2024 5:30:05")) = 5
Hour([Employees.BirthDate]) = 0
Minute
| Функция | Параметры | Возвращаемое значение |
|---|---|---|
Minute |
DateTime date |
int
|
Извлекает минуты (0-59) из указанной даты.
Пример:
Minute(new DateTime(2024,4,2,5,30,5)) = 30
Minute(ToDateTime("2.4.2024 5:30:05")) = 30
Minute([Employees.BirthDate]) = 0
Month
| Функция | Параметры | Возвращаемое значение |
|---|---|---|
Month |
DateTime date |
int
|
Извлекает месяц (1-12) из указанной даты.
Пример:
Month(new DateTime(2024,4,2)) = 4
Month(ToDateTime("2.4.2024")) = 4
Month([Employees.BirthDate]) = 1
MonthName
| Функция | Параметры | Возвращаемое значение |
|---|---|---|
MonthName |
int month |
string
|
Возвращает локализованное название месяца (Январь..Декабрь) с номером month.
Пример:
MonthName(1) = "Январь"
Second
| Функция | Параметры | Возвращаемое значение |
|---|---|---|
Second |
DateTime date |
int
|
Извлекает секунды (0-59) из указанной даты.
Пример:
Second(new DateTime(2024,4,2,5,30,5)) = 5
Second(ToDateTime("2.4.2024 5:30:05")) = 5
Second([Employees.BirthDate]) = 0
Year
| Функция | Параметры | Возвращаемое значение |
|---|---|---|
Year |
DateTime date |
int
|
Извлекает год из указанной даты.
Пример:
Year(new DateTime(2024,4,2)) = 2024
Year(ToDateTime("2.4.2024")) = 2024
Year([Employees.BirthDate]) = 1986