powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Как получить номер недели в году.
5 сообщений из 5, страница 1 из 1
Как получить номер недели в году.
    #35044305
leokolus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет и с всех с Ноавым Годом!

Как получить номер недели в году кто знает плиз хелп.
...
Рейтинг: 0 / 0
Как получить номер недели в году.
    #35044514
18-я весна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
leokolusКак получить номер недели в году кто знает плиз хелп.
- получить дату первого дня года (использ. year())
- найти кол. дней между началом недели и первой датой n(DaysAfter)
- w = int(n/7) + 1
- если неполная неделя вначале года считается первой - добавить поправку +1 если есть остаток от деления, Mod(n, 7) > 0
...
Рейтинг: 0 / 0
Как получить номер недели в году.
    #35044568
Фотография Dmitry.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у французов недели считаются по другому.
т.е. это число зависит от локали...
...
Рейтинг: 0 / 0
Как получить номер недели в году.
    #35044589
alexis glinski
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
можно извратитсо вызвав функцию БД DATEDIFF (в SQLServer есть такая).
...
Рейтинг: 0 / 0
Как получить номер недели в году.
    #35045077
leokolus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем большое спасибо,

Я нашёл эту функцию в PFC библиотеках вот она может кому пригодится:

////////////////////////////////////////////////////////////////////////////////
// Public Function: of_WeekNumber
// Arguments: ad_source Date to be determined.
// Returns: long
// If any argument's value is NULL, function returns NULL.
// If any argument's value is Invalid, function returns -1.
// Description: Obtains the week number that corresponds to the date from
// the begining of the year.
//////////////////////////////////////////////////////////////////////////////
// Rev. History Version
// 5.0 Initial version
// 8.0 Should return 1 for 1st week in January
// (Note: Number of weeks in year may exceed 53 )
//////////////////////////////////////////////////////////////////////////////
// Copyright © 1996-2000 Sybase, Inc. and its subsidiaries. All rights reserved. Any distribution of the
// PowerBuilder Foundation Classes (PFC) source code by other than Sybase, Inc. and its subsidiaries is prohibited.
//////////////////////////////////////////////////////////////////////////////
date ld_first_ofyear
integer li_weeknumber
integer li_leftover_days

//Check parameters
If IsNull(ad_source) Then
long ll_null
SetNull(ll_null)
Return ll_null
End If

//Check for invalid date
If Not of_IsValid(ad_source) Then
Return -1
End If

//Set to the first of the same year.
ld_first_ofyear = Date(Year(ad_source), 01, 01)

//Get the number of weeks passed from the begining of the year.
li_weeknumber = of_WeeksAfter (ld_first_ofyear, ad_source) + 1

//Get the leftover days.
li_leftover_days = Mod(DaysAfter (ld_first_ofyear, ad_source), 7)

//If needed, increment the weeks count by one.
If (of_DayOfWeek(ld_first_ofyear) + li_leftover_days) >= 8 then
li_weeknumber ++
End If

Return li_weeknumber
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Как получить номер недели в году.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]