Показать сообщение отдельно
Старый 09.03.2011, 13:59   #9  
Poleax is offline
Poleax
Модератор
Аватар для Poleax
MCP
MCBMSS
Злыдни
 
1,353 / 595 (22) +++++++
Регистрация: 17.02.2005
Адрес: msk
Записей в блоге: 34
:)
Цитата:
Сообщение от kair84 Посмотреть сообщение
Функция WeekOfYear(31\12\2012) возвращает 2
наверное после дня апокалипсиса нумерация недель начинается заново.
2 не наблюдается (Ax 2009 SP1 EE RU6 5.0.1500.3761)

X++:
static void Job17(Args _args)
{
    ;
    info(strfmt("25.12.2011 - %1",WeekOfYear(25\12\2011)));  //52
    info(strfmt("30.12.2011 - %1",WeekOfYear(30\12\2011)));  //1
    info(strfmt("31.12.2011 - %1",WeekOfYear(31\12\2011)));  //1
    info(strfmt("01.01.2012 - %1",WeekOfYear(01\01\2012)));  //1

    info(strfmt("29.12.2012 - %1",WeekOfYear(29\12\2012)));  //53
    info(strfmt("30.12.2012 - %1",WeekOfYear(30\12\2012)));  //53
    info(strfmt("31.12.2012 - %1",WeekOfYear(31\12\2012)));  //1
    info(strfmt("01.01.2013 - %1",WeekOfYear(01\01\2013)));  //1
}
Код:
Info	Сообщение (13:48:46)	25.12.2011 - 52
Info	Сообщение (13:48:46)	30.12.2011 - 1
Info	Сообщение (13:48:46)	31.12.2011 - 1
Info	Сообщение (13:48:46)	01.01.2012 - 1
Info	Сообщение (13:48:46)	29.12.2012 - 53
Info	Сообщение (13:48:46)	30.12.2012 - 53
Info	Сообщение (13:48:46)	31.12.2012 - 1
Info	Сообщение (13:48:46)	01.01.2013 - 1

но, есть разночтения с SQL:

PHP код:
SET DATEFORMAT dmy
SELECT DATEPART(ww'25/12/2011') as '25/12/2011'
      
,DATEPART(ww'30/12/2011') as '30/12/2011'
      
,DATEPART(ww'31/12/2011') as '31/12/2011'
      
,DATEPART(ww'01/01/2012') as '01/01/2012';
    
SELECT DATEPART(ww'30/12/2012') as '30/12/2012'
      
,DATEPART(ww'31/12/2012') as '31/12/2012'
      
,DATEPART(ww'01/01/2013') as '01/01/2013';

select @@version 
Код:
25/12/2011  30/12/2011  31/12/2011  01/01/2012
----------- ----------- ----------- -----------
52          53          53          1

(1 row(s) affected)

30/12/2012  31/12/2012  01/01/2013
----------- ----------- -----------
53          54          1

(1 row(s) affected)


--------------------------------------------------------------------------------------------------------------------------------
Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.1 (Intel X86) 
	Apr  2 2010 15:53:02 
	Copyright (c) Microsoft Corporation
	Enterprise Edition on Windows NT 5.2 <X86> (Build 3790: Service Pack 2) (Hypervisor)
__________________

This posting is provided "AS IS" with no warranties, and confers no rights.