Влизане с Microsoft
Влезте или създайте акаунт.
Здравейте,
Изберете друг акаунт.
Имате няколко акаунта
Изберете акаунта, с който искате да влезете.

Връща стойност от тип Variant (Long), указваща броя времеви интервали между две указани дати.

Синтаксис

DateDiff ( интервал, дата1, date2 [, firstdayofweek] [, firstweekofyear] )

Синтаксисът на функцията DateDiff има следните аргументи:

Съвет:  В Access 2010, Конструкторът на изрази разполага с IntelliSense, така че можете да видите какви аргументи изисква Вашият израз. 

Аргумент

Описание

интервал

Задължително. Израз на низ, който представлява интервала от време, който използвате, за да изчислите разликата между дата1 и date2.

дата1, date2

Задължително. Вариант (Дата). Двете дати, които искате да използвате в изчислението.

първи ден от седмицата

Незадължително. константа, която указва първия ден от седмицата. Ако не бъде указан, се приема "Неделя".

първа седмица от годината

Незадължително. Константа, която указва първата седмица от годината. Ако не бъде указана, се приема, че първата седмица е седмицата, в която настъпва 1 януари.

Настройки

Интервалът аргумент има тези настройки:

Настройка

Описание

yyyy

Година

q

Тримесечие

m

Месец

y

Ден от годината

d

Ден

w

Weekday

ww

Седмица

ч

Час

м

Минута

с

Секунда

Аргументът firstdayofweek има тези настройки:

Константа

Стойност

Описание

vbUseSystem

0

Използвайте настройката NLS API.

vbSunday

1

Неделя (по подразбиране)

vbMonday

2

Понеделник

vbTuesday

3

Вторник

vbWednesday

4

Сряда

vbThursday

5

Четвъртък

vbFriday

6

Петък

vbSaturday

7

Събота.

Константа

Стойност

Описание

vbUseSystem

0

Използвайте настройката NLS API.

vbFirstJan1

1

Започнете със седмица, в която се появява 1 януари (по подразбиране).

vbFirstFourDays

2

Започнете с първата седмица, която има поне четири дни през новата година.

vbFirstFullWeek

3

Започнете с първата пълна седмица на годината.

Забележки

Можете да използвате функцията DateDiff , за да определите колко определени интервали от време съществуват между две дати. Например можете да използвате DateDiff , за да изчислите броя на дните между две дати или броя на седмиците между днешната и края на годината.

За да изчислите броя на дните между дата1 и date2, можете да използвате всеки ден от годината ("y") или ден ("d"). Когато интервал е делничен ден ("w"), DateDiff връща броя на седмиците между двете дати. Ако дата1 попада в понеделник, DateDiff брои броя на понеделник до date2. Преброява date2 , но не и дата1. Ако интервал е седмица ("WW"), обаче, функцията DateDiff връща броя на календарните седмици между двете дати. Преброява неделите между дата1 и date2. DateDiff Преброява date2 , ако попада в неделя; но това не се брои за дата1, дори ако то пада в неделя.

Ако дата1 препраща към по-късна точка във времето от Date2, функцията DateDiff връща отрицателно число.

Аргументът firstdayofweek засяга изчисленията, които използват символите за интервал "w" и "WW".

Ако дата1 или date2 е валиден формат за дата, зададената година става постоянна част от тази дата. Ако " дата1 " или date2 са оградени с двойни кавички (""), и пропуснете годината, текущата година се вмъква във вашия код всеки път, когато се изчислява дата1 или date2 израз. Това позволява да се напише кодът, който може да се използва през различните години.

Когато се сравняват 31 декември до 01 януари на следващата следваща година, DateDiff за година ("гггг") връща 1, въпреки че е изтекъл само един ден.

Забележка:  За дата1 и date2, ако настройката на свойството Календар е григориански, предоставената дата трябва да бъде григориански. Ако Календарът е хиджри, предоставената дата трябва да бъде хиджри.

Примери на заявки за DateDiff

Израз

Резултати

Изберете DateDiff ("гггг"; #01/01/2010 #; [DateofSale]) като Израз1 от ProductSales;

Връща разликата между Date2 и Дата1 (Считай Дата1 за най-стар и Date2 като най-новата) като брой "години". Резултат: разликата между стойностите в полето "DateofSale" и датата "01/01/2010" като брой "години".

Изберете DateDiff ("q"; [DateofSale], date ()) като DaysSinceSale от ProductSales;

Връща разликата между системната дата и "DateofSale" като брой "тримесечия" (на базата на календарна година) и се показва в колоната "DaysSinceSale". Връща разликата между системната дата и "DateofSale" като брой "месеци" и се показва в колоната "DaysSinceSale".

Изберете DateDiff ("y"; [DateofSale], date ()) като DaysSinceSale от ProductSales;

Връща разликата между системната дата и "DateofSale" като брой "дни" и се показва в колоната "DaysSinceSale".

Изберете DateDiff ("d"; [DateofSale], date ()) като DaysSinceSale от ProductSales;

Връща разликата между системната дата и "DateofSale" като брой "дни" и се показва в колоната "DaysSinceSale".

Изберете DateDiff ("w"; [DateofSale], date ()) като DaysSinceSale от ProductSales;

Връща разликата между системната дата и "DateofSale" като брой "делнични дни" и се показва в колоната "DaysSinceSale". Ако "DateofSale" попада в понеделник, DateDiff брои броя на понеделник до системната дата. Той Преброява системната дата, но не и стойността в "DateofSale".

Изберете DateDiff ("WW"; [DateofSale]; date ()) като DaysSinceSale от ProductSales;

Връща разликата между системната дата и "DateofSale" като брой "календарни седмици" и се показва в колоната "DaysSinceSale". Преброява неделите между "DateofSale" и "системна дата". Той ще преброи системната дата, ако попада в неделя; но това не е броят на "DateofSale", въпреки че пада в неделя.

Изберете DateDiff ("h"; [дата на пристигане], date ()) като DaysSinceSale FROM ProductSales;

Връща разликата между системната дата и "дата и час" като брой "часове" и се показва в колоната "DaysSinceSale".

Изберете DateDiff ("n"; [дата и час], date ()) като DaysSinceSale от ProductSales;

Връща разликата между системната дата и "дата и час" като брой "минути" и се показва в колоната "DaysSinceSale".

Изберете DateDiff ("s"; [дата на пристигане], date ()) като DaysSinceSale FROM ProductSales;

Връща разликата между системната дата и "дата и час" като брой "секунди" и се показва в колоната "DaysSinceSale".

Пример на израз

Използване на функцията DateDiff в израз     Можете да използвате функцията DateDiff , където можете да използвате изрази. Например да предположим, че имате формуляр, който използвате, за да изпълните поръчките на клиенти. В таблицата поръчки имате поле с име ReceiveBefore, което съдържа датата, от която клиентът трябва да получи поръчката. Можете да използвате функцията DateDiff с текстово поле във формуляра, за да покажете броя на дните, преди поръчката да се изпраща.

Ако предположим, че са необходими 10 дни, за да експедирате каквато и да е поръчка, Задайте свойството източник за контролата на текстовото поле, както следва:

= DateDiff ("d"; Now (); [поръчки]. [ ReceiveBefore])-10

Когато отворите формуляра в изглед за формуляри, текстовото поле показва броя на дните, преди поръчката да се достави. Ако са останали по-малко от 10 дни, преди клиентът трябва да получи поръчката, номерът в текстовото поле е отрицателен и указва колко дни закъснение ще бъде поръчката, ако бъде изпратена незабавно.

Пример за VBA

Използвайте функцията DateDiff във VBA код    

Този пример използва функцията DateDiff , за да покаже броя на дните между дадена дата и днешния ден.

Dim TheDate As Date    ' Declare variables.
Dim Msg
TheDate = InputBox("Enter a date")
Msg = "Days from today: " & DateDiff("d", Now, TheDate)
MsgBox Msg

Избиране на правилната функция за дата

Нуждаете ли се от още помощ?

Искате ли още опции?

Разгледайте ползите от абонамента, прегледайте курсовете за обучение, научете как да защитите устройството си и още.

Общностите ви помагат да задавате и отговаряте на въпроси, да давате обратна връзка и да получавате информация от експерти с богати знания.

Беше ли полезна тази информация?

Доколко сте доволни от качеството на езика?
Какво е повлияло на вашия потребителски опит?

Благодарим ви за обратната връзка!

×