开发者

.Net DateTime fiscal Quarter

开发者 https://www.devze.com 2023-01-18 18:56 出处:网络
Does anyone know how to construct a DateTime in .NET to be 开发者_JAVA百科the first day of the current quarter?public DateTime GetCurrentQuarter(DateTime date)

Does anyone know how to construct a DateTime in .NET to be 开发者_JAVA百科the first day of the current quarter?


public DateTime GetCurrentQuarter(DateTime date)
{
    int startingMonthOfQuarter = (((date.Month - 1) / 3) * 3) + 1;

    return new DateTime(date.Year, startingMonthOfQuarter, 1);
}


        var currentTime = DateTime.Now;
        var year = currentTime.Year;
        DateTime[] quarterStarts = {new DateTime(year, 1, 1), new DateTime(year, 4, 1), new DateTime(year, 7, 1), new DateTime(year, 10, 1)};
        var currentStart = quarterStarts.Where(s => s < currentTime).Last();


@yogesh is right, here's what I use in a sql sp:

CREATE FUNCTION [dbo].[fn_startOfQtr](@dt DATETIME) 
RETURNS DATETIME AS  
BEGIN 
    declare @ret DATETIME
    declare @qtr int

    set @qtr = ((month(@dt)-1)/3)+1
    set @ret = cast(str(@qtr * 3 - 2) + '/1/' + str(year(@dt)) as DATETIME)
    return @ret
END
0

精彩评论

暂无评论...
验证码 换一张
取 消