2016-03-30 5 views
-6

Возможно, кто-то может предоставить код для первого и последнего дня прошлой недели?Получить первый и последний день предыдущей недели

Заранее спасибо.

+4

[Некоторые общие даты подпрограмм] (http://www.sqlservercentral.com/blogs/lynnpettis/2009/03/25/некоторый-синфазный дата-процедура /). –

+0

Что * * в первый день недели? Это зависит от культуры. –

ответ

1

Вы можете использовать эти функции:

Public Function DateWeekFirst(_ 
    ByVal datDate As Date, _ 
    Optional ByVal lngFirstDayOfWeek As VbDayOfWeek = vbUseSystemDayOfWeek) _ 
    As Date 

' Returns the first date of the week of datDate. 
' lngFirstDayOfWeek defines the first weekday of the week. 
' 2000-09-07. Cactus Data ApS. 
' 2003-05-01. System settings used as default. 
' 2012-10-44. Data type of lngFirstDayOfWeek changed to VbDayOfWeek. 

    DateWeekFirst = DateAdd("d", vbSunday - Weekday(datDate, lngFirstDayOfWeek), datDate) 

End Function 

Public Function DateWeekLast(_ 
    ByVal datDate As Date, _ 
    Optional ByVal lngFirstDayOfWeek As Long = vbUseSystemDayOfWeek) _ 
    As Date 

' Returns the last date of the week of datDate. 
' lngFirstDayOfWeek defines the first weekday of the week. 
' 2000-09-07. Cactus Data ApS. 
' 2003-05-01. System settings used as default. 
' 2012-10-44. Data type of lngFirstDayOfWeek changed to VbDayOfWeek. 

    DateWeekLast = DateAdd("d", vbSaturday - Weekday(datDate, lngFirstDayOfWeek), datDate) 

End Function 

Тогда, например:

FirstDatePreviousWeek = DateWeekFirst(DateAdd("ww", -1, Date)) 
Смежные вопросы