Номер Недели В Году (iso 8601)

Тема в разделе "Библиотеки скриптов", создана пользователем nvyush, 2 авг 2012.

  1. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    Иногда бывает нужно определить номер недели в году. По ISO 8601 первая неделя не та, что начинается с первого января, а та, что содержит первый четверг года.
    На формулах (DateValue - поле/значение интересующей даты):
    Код (Text):
    _tmpDate := @Date(@Year(@Adjust(DateValue; 0; 0; - @Weekday(@Adjust(DateValue; 0; 0; -1; 0; 0; 0)) + 4; 0; 0; 0)); 1; 3);
    @Integer(((DateValue -_tmpDate) / 86400 + @Weekday(_tmpDate) + 5) / 7);
    На LS:
    Код (LotusScript):
    Function WeekNumber(dt As Variant) As Integer
    Dim tmpDate As Variant
    If DataType(dt) <> 7 Then
    WeekNumber = 0
    Else
    tmpDate = DateSerial(Year(dt - Weekday(dt - 1) + 4), 1, 3)
    WeekNumber = Int((dt - tmpDate + Weekday(tmpDate) + 5) / 7)
    End If
    End Function
    Формула взята отсюда
     
Загрузка...

Поделиться этой страницей