Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Замечание
Группы интересов сообщества теперь переехали из Yammer в Microsoft Viva Engage. Чтобы присоединиться к сообществу Viva Engage и принять участие в последних обсуждениях, заполните форму " Запрос доступа к финансам и операциям Viva Engage Community " и выберите сообщество, к которому вы хотите присоединиться.
В этой статье описываются функции времени выполнения даты.
dayName
Извлекает имя дня недели, указанного числом.
str dayName(int number)
Параметры
| Параметр | Description |
|---|---|
| число/номер | Количество дня в неделю. |
Возвращаемое значение
День недели, указанный параметром number.
Замечания
Допустимые значения для параметра числа — 1 – 7. Понедельник представлен 1, вторник к 2, и воскресенье к 7.
Example
static void dayNameExample(Args _arg)
{
str s = dayName(1);
print "First day of the week's name is " + s;
pause;
}
dayOfMth
Вычисляет число дней в месяце для указанной даты.
int dayOfMth(date date)
Параметры
| Параметр | Description |
|---|---|
| date | Дата, для которой возвращается день месяца. |
Возвращаемое значение
Целое число от 1 до 31, указывающее день месяца для указанной даты.
Замечания
dayOfMth(31\12\2001) // returns 31.
Example
static void dayOfMthExample(Args _arg)
{
date d = today();
int i = dayOfMth(d);
print "Today's day of the month is " + int2Str(i);
pause;
}
dayOfWk
Вычисляет количество дней в неделе для указанной даты. Заметка: Понедельник представлен 1, вторник к 2, и воскресенье к 7.
int dayOfWk(date date)
Параметры
| Параметр | Description |
|---|---|
| date | Значение даты , указывающее год, месяц и день. |
Возвращаемое значение
Число указанного дня в неделю.
Example
static void dayOfWkExample(Args _arg)
{
date d = today();
int i = dayOfWk(d);
print "Today's day of the week is " + int2Str(i);
pause;
}
dayOfYr
Вычисляет количество дней от 1 января до указанной даты.
int dayOfYr(date _date)
Параметры
| Параметр | Description |
|---|---|
| _дата | Дата, указывающая год, месяц и день. |
Возвращаемое значение
Число дней от 1 января до указанной даты включительно.
Замечания
1 января 1, а 31 декабря — 365 или 366 в зависимости от того, является ли год високосным годом.
Example
static void dayOfYrExample(Args _arg)
{
date d = today();
int i = dayOfYr(d);
print "Today's day of the year is " + int2Str(i);
pause;
}
endMth
Вычисляет последнюю дату в месяце указанной даты.
date endMth(date date)
Параметры
| Параметр | Description |
|---|---|
| date | Значение даты , указывающее год, месяц и день. |
Возвращаемое значение
Значение даты последнего дня в указанном месяце.
Замечания
endMth(02\2\1988); //Returns the date 29\2\1988 because 1988 is a leap year.
endMth(02\2\1989); //Returns the date 28\2\1989.
mkDate
Создает дату на основе трех целых чисел, указывающих день, месяц и год соответственно.
date mkDate(int day, int month, int year)
Параметры
| Параметр | Description |
|---|---|
| day | Целое число, представляющее день месяца. |
| month | Целое число, представляющее месяц года. |
| год | Целое число, представляющее год, которое должно быть от 1900 до 2154. |
Возвращаемое значение
Значение даты , основанное на значениях параметров дня, месяца и года .
Замечания
Если дата не допустима, этот метод возвращает дату 0 (ноль, 1.1.1.1900).
Example
static void mkDateExample(Args _arg)
{
date d;
// Returns the date 01\01\2005.
d = mkDate(1, 1, 2005);
print d;
pause;
}
mthName
Извлекает имя указанного месяца
str monthName(int number)
Параметры
| Параметр | Description |
|---|---|
| число/номер | Число месяца. |
Возвращаемое значение
Имя указанного месяца.
Замечания
Допустимые значения параметра number : 1 – 12. Январь представлен 1 и 12 декабря.
Example
static void mthNameExample(Args _arg)
{
// MthName(6) returns the text string "June".
str s = mthName(6);
print "Month name is " + s;
pause;
}
mthOfYr
Извлекает количество месяца в году для указанной даты. Заметка:1 января, февраль — 2, а декабрь — 12.
int mthOfYr(date date)
Параметры
| Параметр | Description |
|---|---|
| date | Дата, указывающая год, месяц и день. |
Возвращаемое значение
Число месяцев в году в течение месяца, представленного параметром даты .
Example
static void mthOfYrExample(Args _arg)
{
int i = mthOfYr(today());
print "The number of the month in today's date is " + int2Str(i);
pause;
}
nextMth
Извлекает дату в следующем месяце, которая соответствует наиболее точно указанной дате.
date nextMth(date date)
Параметры
| Параметр | Description |
|---|---|
| date | Дата сопоставления в следующем месяце. |
Возвращаемое значение
Ближайшее совпадение с указанной датой, найденной в следующем месяце.
Замечания
nextMth(29\2\1996); //returns 29/03/1996.
nextMth(31\1\1996); //returns 2921996, because 1996 is a leap year.
Example
static void nextMthExample(Args _arg)
{
date d = nextMth(today());
print "Closest date next month is "
+ date2Str(d, 2, 2, -1, 2, -1, 4);
pause;
}
nextQtr
Извлекает дату в следующем квартале, которая соответствует наиболее точно указанной дате.
date nextQtr(date date)
Параметры
| Параметр | Description |
|---|---|
| date | Дата сопоставления в следующем квартале. |
Возвращаемое значение
Ближайшее совпадение с указанной датой, найденной в следующем квартале.
Замечания
Например, nextQtr(31\1\1998) возвращает значение 30\4\1998.
Example
static void nextQtrExample(Args _arg)
{
date d = nextQtr(today());
print "Closest date next quarter is "
+ date2Str(d, 2, 2, -1, 2, -1, 4);
pause;
}
nextYr
Извлекает дату в следующем году, которая соответствует наиболее точно указанной дате.
date nextYr(date date)
Параметры
| Параметр | Description |
|---|---|
| date | Дата сопоставления в следующем году. |
Возвращаемое значение
Ближайшее совпадение с указанной датой, найденной в следующем году.
Замечания
Например, nextyr(29\2\1998) возвращает значение 28\2\1999.
Example
static void nextYrExample(Args _arg)
{
date d = nextYr(today());
print "Closest date next year is "
+ date2Str(d, 2, 2, -1, 2, -1, 4);
pause;
}
prevMth
Извлекает дату в предыдущем месяце, которая соответствует наиболее точно указанной дате.
date prevMth(date date)
Параметры
| Параметр | Description |
|---|---|
| date | Дата сопоставления за предыдущий месяц. |
Возвращаемое значение
Ближайшее совпадение с указанной датой, найденной в предыдущем месяце.
Замечания
prevMth(31\3\1996); // Returns the date 29/02/1996 because 1996 is a leap year.
prevMth(28\2\1998); // Returns the date 28/01/1998.
prevQtr
Извлекает дату в предыдущем квартале, которая соответствует наиболее точно указанной дате.
date prevQtr(date date)
Параметры
| Параметр | Description |
|---|---|
| date | Дата сопоставления в предыдущем квартале. |
Возвращаемое значение
Ближайшее совпадение с указанной датой, найденной в предыдущем квартале.
Замечания
prevQtr(30\4\1998); // Returns the date 30/01/1998.
prevQtr(29\5\1996); // Returns the date 29/02/1996, because 1996 is a leap year.
prevYr
Извлекает дату в предыдущем году, которая соответствует наиболее точно указанной дате.
date prevYr(date date)
Параметры
| Параметр | Description |
|---|---|
| date | Дата сопоставления за предыдущий год. |
Возвращаемое значение
Ближайшее совпадение с указанной датой, найденной в предыдущем году.
Замечания
prevYr(29\2\1996); //Returns the date 28/02/1995 because 1996 is a leap year.
prevYr(28\2\1998); //Returns the date 28/02/1997.
systemDateGet
Извлекает дату сеанса, если она была задана.
date systemDateGet()
Возвращаемое значение
Дата сеанса, если она была задана; в противном случае — системная дата.
Замечания
Рассмотрите возможность использования даты и времени сеанса в меню "Сервис" , чтобы открыть страницу даты и времени сеанса . Эта страница может использоваться для активного задания даты сеанса. После обнаружения этого действия набора системой последующие вызовы функции systemDateGet возвращают дату сеанса. Текущая функция возвращает системную дату. Эта функция не поддерживает часовые пояса.
Example
В следующем примере показана дата в окне Infolog.
static void Job_systemDateGet(Args _arg)
{
info( date2Str(
systemDateGet(), // X++ language function.
321, // 321 = ymd
DateDay::Digits2,
DateSeparator::Hyphen, // separator1
DateMonth::Digits2,
DateSeparator::Hyphen, // separator2
DateYear::Digits4
)
);
/*********** Actual Infolog output
Message (03:46:00 pm)
2012-04-16
***********/
}
systemDateSet
Изменяет системную дату.
date systemDateSet(date _date)
Параметры
| Параметр | Description |
|---|---|
| _дата | Новая дата системы. |
Возвращаемое значение
Новая системная дата.
Замечания
Эта функция не влияет на дату сеанса. Этот метод изменяет дату, но время будет иметь значение 0 (ноль).
Example
В следующем примере показано, как задать системную дату на сегодняшний день.
static void systemDateSetExample(Args _arg)
{
date d = today();
d = systemDateSet(d);
print d;
}
timeNow
Извлекает текущее системное время.
int timeNow()
Возвращаемое значение
Количество секунд, прошедших с полуночи.
Example
static void timeNowExample(Args _arg)
{
int i = timeNow();
print "The number of seconds since midnight is " + int2Str(i);
pause;
}
Сегодня
Извлекает текущую дату в системе.
date today()
Возвращаемое значение
Текущая дата.
Example
static void todayExample(Args _arg)
{
date d = today();
print "Today's date is " + date2Str(d, 0, 2, -1, 2, -1, 4);
pause;
}
wkOfYr
Вычисляет неделю года, в соответствии с спецификацией ISO 8601.
int wkOfYr(date _date)
Параметры
| Параметр | Description |
|---|---|
| _дата | Дата вычисления недели года. |
Возвращаемое значение
Порядковый номер недели, в которую выполняется параметр _date .
Example
В следующем примере кода сравнивается функция wkOfYr с методом Global::weekOfYear . Функция и метод создают разные результаты.
// X++ job, under AOT > Jobs.
static void WeekTests3Job(Args _args)
{
int weekNum, i;
date dateTest;
str sMessages[];
//---------------------------------------------
sMessages[1] = "----- #1. For Sunday, January 5, 2003 -----";
dateTest = 512003; // DayMonthYear format.
weekNum = wkOfYr(dateTest);
sMessages[2] = int2str(weekNum) + " = wkOfYr funtion";
weekNum = Global::weekOfYear(dateTest);
sMessages[3] = int2str(weekNum) + " = Global::weekOfYear method";
//---------------------------------------------
sMessages[4] = " ";
sMessages[5] = "----- #2. For Wednesday, August 20, 2003 -----";
dateTest = 2082003;
weekNum = wkOfYr(dateTest);
sMessages[6] = int2str(weekNum) + " = wkOfYr funtion";
weekNum = Global::weekOfYear(dateTest);
sMessages[7] = int2str(weekNum) + " = Global::weekOfYear method";
//---------------------------------------------
sMessages[8] = " ";
sMessages[9] = "----- #3. For Sunday, December 28, 2003 -----";
dateTest = 28122003;
weekNum = wkOfYr(dateTest);
sMessages[10] = int2str(weekNum) + " = wkOfYr funtion";
weekNum = Global::weekOfYear(dateTest);
sMessages[11] = int2str(weekNum) + " = Global::weekOfYear method";
for (i=1; i<= 11; i++)
{
Global::info(sMessages[i]);
}
}
Предыдущий пример отправил следующие сведения в infolog для отображения. В выходных данных показано, что между wkOfYr и Global::weekOfYear есть различия.
Message (01:59:13 pm) -----
#1. For Sunday, January 5, 2003 ----- 1 = wkOfYr function 2 = Global::weekOfYear method -----
#2. For Wednesday, August 20, 2003 ----- 34 = wkOfYr function 34 = Global::weekOfYear method -----
#3. For Sunday, December 28, 2003 ----- 52 = wkOfYr function 1 = Global::weekOfYear method
год
Извлекает год из значения даты .
int year(date _date)
Параметры
| Параметр | Description |
|---|---|
| _дата | Дата возврата года. |
Возвращаемое значение
Год указанной даты.
Замечания
year(0221998); //Returns the value 1998.