Перейти к содержанию

Даты и времени: различия между версиями

Материал из Химсофт Вики
Новая страница: «Одно и то же значение даты, полученное из SQL-запроса, в дизайнере может быть представлено в различных форматах. Для этого используется выражение <code>=Format(Fields!input.Value, <Шаблон форматирования>)</code>, которое форматирует значение даты из поля <code>Fields!input.Value</code>...»
 
м Sidminik переименовал страницу Дата и время в Даты и времени
 
(не показано 6 промежуточных версий этого же участника)
Строка 1: Строка 1:
Одно и то же значение даты, полученное из SQL-запроса, в дизайнере может быть представлено в различных форматах.
Инструменты VB.NET для работы с датой и временем позволяют:
*выполнять арифметические операции и извлекать компоненты периодов;
*привести отображение даты к необходимому системному или пользовательскому виду за счет стандартных шаблонов форматирования.


Для этого используется выражение <code>=Format(Fields!input.Value, <Шаблон форматирования>)</code>, которое форматирует значение даты из поля <code>Fields!input.Value</code> по следующим правилам форматирования (указываются в кавычках вместо <code>Шаблон форматирования</code>):
==Функции по работе с датой и временем==
{|class="wikitable" style="margin:auto; background-color: #fff;"
|-
!Имя функции
!Описание
!Пример
|-
|DateAdd
|Возвращает значение даты и времени, которое является результатом прибавления интервала к полю даты\времени указанной единицы измерения.
|<code>DateAdd(<DateInterval>,<Number>,<DateTime>)</code><br><code>=DateAdd("d", 5, Fields!SaleDate.Value);</code><br><code>=DateAdd(DateInterval.Day, 5, Fields!SaleDate.Value)</code>
|-
|DateDiff
|Возвращает разницу между начальной датой и временем и конечной датой и временем заданной единицы измерения.
|<code>DateDiff(<DateInterval>,<DateTime1>,<DateTime2>[,<DayOfWeek>[,WeekOfYear]]))</code><br><code>=DateDiff("yyyy"),Fields!SaleDate.Value,"1/1/2015");</code><br><code>=DateDiff(DateInterval.Year,Fields!SaleDate.Value,"1/1/2015")</code>
|-
|DatePart
|Возвращает дату в числовом представлении (номер даты)
|<code>DatePart(<DateInterval>,<DateTime1>[,<FirstDayOfWeek>[,FirstWeekOfYear]]))</code><br><code>=DatePart("m", Fields!SaleDate.Value)</code>
|-
|DateSerial
|Возвращает дату, сложенную из года+месяца+дня
|<code>DateSerial(<Year Number>,<Month Number>,<Day Number>)</code><br><code>=DateSerial(DatePart("yyyy", Fields!SaleDate.Value)-10, DatePart("m", Fields!SaleDate.Value)+5, DatePart("d", Fields!SaleDate.Value)-1)</code>
|-
|DateString
|Возвращает дату в строковом представлении, из настроек ОС
|<code>DateString()</code><br><code>=DateString()</code>
|-
|DateValue
|Возвращает дату, полученную из строки
|<code>DateValue(<StringDate>)</code><br><code>=DateValue("December 12, 2015")</code>
|-
|Now
|Возвращает текущую дату и время
|<code>Now()</code><br><code>=Now()</code>
|-
|Today
|Возвращает текущую системную дату
|<code>Today()</code><br><code>=Today()</code>
|-
|Day
|Возвращает текущий день месяца (0..31)
|<code>Day(<DateTime>)</code><br><code>=Day(Fields!SaleDate.Value)</code>
|-
|Hour
|Возвращает текущий час дня (0..24)
|<code>Hour(<DateTime>)</code><br><code>=Hour(Fields!SaleDate.Value)</code>
|-
|Minute
|Возвращает текущую минуту часа (0..59)
|<code>Minute(<DateTime>)</code><br><code>=Minute(Fields!SaleDate.Value)</code>
|-
|Month
|Возвращает текущий номер месяца (0..12)
|<code>Month(<DateTime>)</code><br><code>=Month(Fields!SaleDate.Value)</code>
|-
|MonthName
|Возвращает имя месяца по номеру или аббревиатуре
|<code>MonthName(<Month Number>[,<Abbreviate>])</code><br><code>=MonthName(Fields!SaleDate.Value)</code>
|-
|Second
|Возвращает текущую секунду минуты (0..59)
|<code>Second(<DateTime>)</code><br><code>=Second(Fields!SaleDate.Value)</code>
|-
|TimeSerial
|Возвращает время, сложенное из часов+минут+секунд<br>См. так же DateSerial
|<code>TimeSerial(<Hour Number>, <Minute Number>, <Second Number>)</code><br><code>=TimeSerial(DatePart("h", Fields!SaleDate.Value), DatePart("n", Fields!SaleDate.Value), DatePart("s", Fields!SalesDate.Value))</code>
|-
|TimeValue
|Возвращает время в формате даты, полученное из строки.
|<code>TimeValue(<StringTime>)</code><br><code>=TimeValue("15:25:45"); TimeValue(Fields!SaleDate.Value)</code>
|-
|TimeOfDay
|Возвращает текущее время в системе
|<code>TimeOfDay()</code><br><code>=TimeOfDay()</code>
|-
|Timer
|Возвращает число с ПЗ - количество секунд, начиная с 00:00<br>Используется как счетчик производительности
|<code>Timer()</code><br><code>=Timer()</code>
|-
|TimeString
|Возвращает строкой текущее время системы
|<code>TimeString()</code><br><code>=TimeString()</code>
|-
|Weekday
|Возвращает числом номер текущего дня недели (1..7)
|<code>Weekday(<DateTime[,<DayOfWeek>])</code><br><code>=Weekday(Fields!SaleDate.Value,0)</code>
|-
|WeekdayName
|Возвращает строкой название текущего дня недели. Работает с аббревиатурами, например, «пнд.», «вт.»
|<code>WeekdayName(<WeekDay>[,<Abbreviate[, <FirstDayOfWeek>]])</code><br><code>=WeekdayName(3, True, 0); =WeekDayName("w", Fields!SaleDate.Value), True, 0)</code>
|-
|Year
|Возвращает числом номер текущего года
|<code>Year(<DateTime>)</code><br><code>=Year(Fields!SaleDate.Value)</code>
|-
|Quarter
|Возвращает числом номер текущего квартала (1..4)
|<code>Quarter(<DateTime>)</code><br><code>=Quarter(Fields!SaleDate.Value)</code>
|-
|QuarterName
|Возвращает строкой номер текущего квартала (1..4)
|<code>QuarterName(<DateTime>)</code><br><code>=QuarterName(Fields!SaleDate.Value)</code>
|-
|}
 
==Стандартные шаблоны форматирования даты и времени==
{|class="wikitable" style="margin:auto; background-color: #fff;"
|-
!Шаблон
!Описание
!Пример
|-
|"d"
|Короткая дата
|17.10.2025<br>10/17/2025
|-
|"D"
|Длинная дата
|пятница, 17 октября 2025 г.<br>Friday, October 17, 2025
|-
|"f"
|Полный формат (дата и короткое время)
|пятница, 17 октября 2025 г. 00:00<br>Friday, October 17, 2025 12:00 AM
|-
|"F"
|Полный формат (дата и длинное время)
|пятница, 17 октября 2025 г. 00:00:00<br>Friday, October 17, 2025 12:00:00 AM
|-
|"g"
|Общий формат (дата и короткое время)
|17.10.2025 00:00<br>10/17/2025 12:00 AM
|-
|"G"
|Общий формат (дата и длинное время)
|17.10.2025 00:00:00<br>10/17/2025 12:00:00 AM
|-
|"M", "m"
|Месяц и день
|17 октября<br>October 17
|-
|"O", "o"
|Дата и время в формате round-trip (ISO 8601)
|2025-10-17T00:00:00.0000000+07:00<br>2025-10-17T00:00:00.0000000+07:00
|-
|"R", "r"
|Дата и время в формате RFC1123
|Fri, 17 Oct 2025 00:00:00 GMT<br>Fri, 17 Oct 2025 00:00:00 GMT
|-
|"s"
|Сортируемые дата и время
|2025-10-17T00:00:00<br>2025-10-17T00:00:00
|-
|"t"
|Короткое время
|00:00<br>12:00 AM
|-
|"T"
|Длинное время
|00:00:00<br>12:00:00 AM
|-
|"u"
|Универсальные сортируемые дата и время
|2025-10-17 00:00:00Z<br>2025-10-17 00:00:00Z
|-
|"U"
|Универсальные полные дата и время
|четверг, 16 октября 2025 г. 17:00:00<br>Thursday, October 16, 2025 5:00:00 PM
|-
|"Y", "y"
|Год и месяц
|октябрь 2025 г.<br>October 2025
|-
|}
 
==Примеры использования==
Выражение <code>=Format(Fields!input.Value, <Шаблон форматирования>)</code> форматирует значение даты из поля <code>Fields!input.Value</code> по вышеуказанным правилам форматирования (указываются в кавычках вместо <code>Шаблон форматирования</code>):
*<code>«dddd, d MMMM, yyyy»</code> = четверг, 18 декабрь, 2025
*<code>«dddd, d MMMM, yyyy»</code> = четверг, 18 декабрь, 2025
*<code>«dd.MM.yyyy»</code> = 18.12.2025
*<code>«dd.MM.yyyy»</code> = 18.12.2025

Текущая версия от 09:06, 20 февраля 2026

Инструменты VB.NET для работы с датой и временем позволяют:

  • выполнять арифметические операции и извлекать компоненты периодов;
  • привести отображение даты к необходимому системному или пользовательскому виду за счет стандартных шаблонов форматирования.

Функции по работе с датой и временем

Имя функции Описание Пример
DateAdd Возвращает значение даты и времени, которое является результатом прибавления интервала к полю даты\времени указанной единицы измерения. DateAdd(<DateInterval>,<Number>,<DateTime>)
=DateAdd("d", 5, Fields!SaleDate.Value);
=DateAdd(DateInterval.Day, 5, Fields!SaleDate.Value)
DateDiff Возвращает разницу между начальной датой и временем и конечной датой и временем заданной единицы измерения. DateDiff(<DateInterval>,<DateTime1>,<DateTime2>[,<DayOfWeek>[,WeekOfYear]]))
=DateDiff("yyyy"),Fields!SaleDate.Value,"1/1/2015");
=DateDiff(DateInterval.Year,Fields!SaleDate.Value,"1/1/2015")
DatePart Возвращает дату в числовом представлении (номер даты) DatePart(<DateInterval>,<DateTime1>[,<FirstDayOfWeek>[,FirstWeekOfYear]]))
=DatePart("m", Fields!SaleDate.Value)
DateSerial Возвращает дату, сложенную из года+месяца+дня DateSerial(<Year Number>,<Month Number>,<Day Number>)
=DateSerial(DatePart("yyyy", Fields!SaleDate.Value)-10, DatePart("m", Fields!SaleDate.Value)+5, DatePart("d", Fields!SaleDate.Value)-1)
DateString Возвращает дату в строковом представлении, из настроек ОС DateString()
=DateString()
DateValue Возвращает дату, полученную из строки DateValue(<StringDate>)
=DateValue("December 12, 2015")
Now Возвращает текущую дату и время Now()
=Now()
Today Возвращает текущую системную дату Today()
=Today()
Day Возвращает текущий день месяца (0..31) Day(<DateTime>)
=Day(Fields!SaleDate.Value)
Hour Возвращает текущий час дня (0..24) Hour(<DateTime>)
=Hour(Fields!SaleDate.Value)
Minute Возвращает текущую минуту часа (0..59) Minute(<DateTime>)
=Minute(Fields!SaleDate.Value)
Month Возвращает текущий номер месяца (0..12) Month(<DateTime>)
=Month(Fields!SaleDate.Value)
MonthName Возвращает имя месяца по номеру или аббревиатуре MonthName(<Month Number>[,<Abbreviate>])
=MonthName(Fields!SaleDate.Value)
Second Возвращает текущую секунду минуты (0..59) Second(<DateTime>)
=Second(Fields!SaleDate.Value)
TimeSerial Возвращает время, сложенное из часов+минут+секунд
См. так же DateSerial
TimeSerial(<Hour Number>, <Minute Number>, <Second Number>)
=TimeSerial(DatePart("h", Fields!SaleDate.Value), DatePart("n", Fields!SaleDate.Value), DatePart("s", Fields!SalesDate.Value))
TimeValue Возвращает время в формате даты, полученное из строки. TimeValue(<StringTime>)
=TimeValue("15:25:45"); TimeValue(Fields!SaleDate.Value)
TimeOfDay Возвращает текущее время в системе TimeOfDay()
=TimeOfDay()
Timer Возвращает число с ПЗ - количество секунд, начиная с 00:00
Используется как счетчик производительности
Timer()
=Timer()
TimeString Возвращает строкой текущее время системы TimeString()
=TimeString()
Weekday Возвращает числом номер текущего дня недели (1..7) Weekday(<DateTime[,<DayOfWeek>])
=Weekday(Fields!SaleDate.Value,0)
WeekdayName Возвращает строкой название текущего дня недели. Работает с аббревиатурами, например, «пнд.», «вт.» WeekdayName(<WeekDay>[,<Abbreviate[, <FirstDayOfWeek>]])
=WeekdayName(3, True, 0); =WeekDayName("w", Fields!SaleDate.Value), True, 0)
Year Возвращает числом номер текущего года Year(<DateTime>)
=Year(Fields!SaleDate.Value)
Quarter Возвращает числом номер текущего квартала (1..4) Quarter(<DateTime>)
=Quarter(Fields!SaleDate.Value)
QuarterName Возвращает строкой номер текущего квартала (1..4) QuarterName(<DateTime>)
=QuarterName(Fields!SaleDate.Value)

Стандартные шаблоны форматирования даты и времени

Шаблон Описание Пример
"d" Короткая дата 17.10.2025
10/17/2025
"D" Длинная дата пятница, 17 октября 2025 г.
Friday, October 17, 2025
"f" Полный формат (дата и короткое время) пятница, 17 октября 2025 г. 00:00
Friday, October 17, 2025 12:00 AM
"F" Полный формат (дата и длинное время) пятница, 17 октября 2025 г. 00:00:00
Friday, October 17, 2025 12:00:00 AM
"g" Общий формат (дата и короткое время) 17.10.2025 00:00
10/17/2025 12:00 AM
"G" Общий формат (дата и длинное время) 17.10.2025 00:00:00
10/17/2025 12:00:00 AM
"M", "m" Месяц и день 17 октября
October 17
"O", "o" Дата и время в формате round-trip (ISO 8601) 2025-10-17T00:00:00.0000000+07:00
2025-10-17T00:00:00.0000000+07:00
"R", "r" Дата и время в формате RFC1123 Fri, 17 Oct 2025 00:00:00 GMT
Fri, 17 Oct 2025 00:00:00 GMT
"s" Сортируемые дата и время 2025-10-17T00:00:00
2025-10-17T00:00:00
"t" Короткое время 00:00
12:00 AM
"T" Длинное время 00:00:00
12:00:00 AM
"u" Универсальные сортируемые дата и время 2025-10-17 00:00:00Z
2025-10-17 00:00:00Z
"U" Универсальные полные дата и время четверг, 16 октября 2025 г. 17:00:00
Thursday, October 16, 2025 5:00:00 PM
"Y", "y" Год и месяц октябрь 2025 г.
October 2025

Примеры использования

Выражение =Format(Fields!input.Value, <Шаблон форматирования>) форматирует значение даты из поля Fields!input.Value по вышеуказанным правилам форматирования (указываются в кавычках вместо Шаблон форматирования):

  • «dddd, d MMMM, yyyy» = четверг, 18 декабрь, 2025
  • «dd.MM.yyyy» = 18.12.2025
  • «d» или «dd» = день месяца в числовом формате (например, «18»)
  • «ddd» = день недели в коротком строковом формате (например, «чт» для четверга)
  • «dddd» = день недели в полном строковом формате (например, «четверг»)
  • «MM» = месяц в числовом формате (например, «12»)
  • «MMM» = месяц в коротком строковом формате (например, «дек.»)
  • «MMMM» = месяц в коротком строковом формате (например, «декабрь»)
  • «y» или «yy» = год в двузначном формате (например, «25» для 2025)
  • «yyyy» = год в четырехзначном формате (например, «2025»)
  • «hh:mm» = время в 12-часовом формате (например, «01:00» для 13:00)
  • «HH:mm» = время в 24-часовом формате (например, «13:00» для 13:00)
  • «hh» = часы в 12-часовом формате
  • «HH» = часы в 24-часовом формате
  • «mm» = минуты
  • «ss» = секунды