Javascript 显示从开始日期到结束日期的周数
我想把开始日期和结束日期作为输入,我需要这两个日期之间的周数列表。 例如: 如果我给出的开始日期为2019年11月1日,结束日期为2019年12月14日,我的输出将为Javascript 显示从开始日期到结束日期的周数,javascript,c#,sql,asp.net,Javascript,C#,Sql,Asp.net,我想把开始日期和结束日期作为输入,我需要这两个日期之间的周数列表。 例如: 如果我给出的开始日期为2019年11月1日,结束日期为2019年12月14日,我的输出将为 1 2 3 4 5 1 2 3 3 4 5 1 2 3 (因为前5个是11月的几周,下3个是12月的几周)…让我们看另一个例子:如果我给出的开始日期是2019年11月14日,结束日期是2019年12月14日,我的输出将是 1 2 3 4 5 1 2 3 3 4 5 1 2 3 (因为前3个是11月的几周,下3个是12月的几
1
2
3
4
5
1
2
3
3
4
5
1
2
3
(因为前5个是11月的几周,下3个是12月的几周)…让我们看另一个例子:如果我给出的开始日期是2019年11月14日,结束日期是2019年12月14日,我的输出将是
1
2
3
4
5
1
2
3
3
4
5
1
2
3
(因为前3个是11月的几周,下3个是12月的几周)
将@StartDate声明为DATETIME
将@EndDate声明为DATETIME
将@CurrentDate声明为DATETIME
设置@StartDate='2019-11-01'
设置@EndDate='2019-12-14'
设置@CurrentDate=@StartDate
而(@CurrentDate<@EndDate)
开始
打印日期部分(天,日期差(天,0,@CurrentDate)/7*7)/7+1
设置@CurrentDate=DATEADD(第7天@CurrentDate);
结束
您可以尝试下面的脚本-
DECLARE @StartDate AS DATETIME
DECLARE @EndDate AS DATETIME
DECLARE @CurrentDate AS DATETIME
SET @StartDate = '2019-11-01'
SET @EndDate = '2019-12-14'
SET @CurrentDate = @StartDate
WHILE (@CurrentDate < @EndDate)
BEGIN
IF datepart(DD,@CurrentDate) <=7
BEGIN
SET @CurrentDate = DATEADD(DD,-(DATEPART(DD,@CurrentDate)-1),@CurrentDate)
END
PRINT datepart(dd,@CurrentDate)/7 +1
SET @CurrentDate = DATEADD(DAY, 7, @CurrentDate);
END
将@StartDate声明为DATETIME
将@EndDate声明为DATETIME
将@CurrentDate声明为DATETIME
设置@StartDate='2019-11-01'
设置@EndDate='2019-12-14'
设置@CurrentDate=@StartDate
而(@CurrentDate<@EndDate)
开始
如果datepart(DD,@CurrentDate)请将此项用于带有周开始日期和结束日期的电池结果
DECLARE @StartDate datetime,
@EndDate datetime,
@CurrentDate datetime,
@IsTrue BIT=0
SET @StartDate = '2019-11-01'
SET @EndDate = '2019-12-14'
SET @CurrentDate=@StartDate
WHILE ( @CurrentDate <= @EndDate )
BEGIN
IF( Format(@CurrentDate, 'MM') != Format(@StartDate, 'MM')
AND @IsTrue = 0 )
BEGIN
SET @CurrentDate=Dateadd(month, Datediff(month, 0, @CurrentDate), 0)
PRINT @CurrentDate
SET @IsTrue=1
END
SELECT CONVERT(VARCHAR(20), ( Datepart(week, @CurrentDate) -
Datepart(week,
Dateadd(day, 1, Eomonth(
@CurrentDate, -1))) ) + 1),
@CurrentDate,
Dateadd(day, 6, @CurrentDate)
PRINT( CONVERT(VARCHAR(20), ( Datepart(week, @CurrentDate) -
Datepart(week,
Dateadd(day, 1, Eomonth(
@CurrentDate, -1))) ) + 1) )
SET @CurrentDate = Dateadd(day, 7, @CurrentDate);
END
DECLARE@StartDate datetime,
@EndDate日期时间,
@CurrentDate日期时间,
@IsTrue位=0
设置@StartDate='2019-11-01'
设置@EndDate='2019-12-14'
设置@CurrentDate=@StartDate
WHILE(@CurrentDate MySQL!=SQL Server。请仅标记您实际使用的RDBMS。您所做的操作将发布出来。请仅添加相关标记,标记列表不是您的简历。如何定义“周数”一个月内?也就是说,很明显,一个月的第一个月总是在第一周……但是第二周什么时候开始呢?——也就是说,从2019年11月10日到2019年12月3日和2018年11月11日到2019年12月8日的日期范围是什么