第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

從周數(shù)計(jì)算日期

從周數(shù)計(jì)算日期

C#
躍然一笑 2019-12-18 18:13:45
從周數(shù)計(jì)算日期任何人都知道一個(gè)簡單的方法來獲得一周中的第一天的日期(在歐洲的星期一)。我知道年份和周數(shù)?我要用C#來做這個(gè)。
查看完整描述

3 回答

?
冉冉說

TA貢獻(xiàn)1877條經(jīng)驗(yàn) 獲得超1個(gè)贊

我對@HenkHolterman的解決方案有異議,甚至對@RobinAndersson的解決方案也有異議。

閱讀ISO 8601標(biāo)準(zhǔn)很好地解決了這個(gè)問題。把第一個(gè)星期四作為目標(biāo),而不是星期一。下面的代碼也適用于2009年的第53周。

public static DateTime FirstDateOfWeekISO8601(int year, int weekOfYear){
    DateTime jan1 = new DateTime(year, 1, 1);
    int daysOffset = DayOfWeek.Thursday - jan1.DayOfWeek;

    // Use first Thursday in January to get first week of the year as
    // it will never be in Week 52/53
    DateTime firstThursday = jan1.AddDays(daysOffset);
    var cal = CultureInfo.CurrentCulture.Calendar;
    int firstWeek = cal.GetWeekOfYear(firstThursday, CalendarWeekRule.FirstFourDayWeek, DayOfWeek.Monday);

    var weekNum = weekOfYear;
    // As we're adding days to a date in Week 1,
    // we need to subtract 1 in order to get the right date for week #1
    if (firstWeek == 1)
    {
        weekNum -= 1;
    }

    // Using the first Thursday as starting week ensures that we are starting in the right year
    // then we add number of weeks multiplied with days
    var result = firstThursday.AddDays(weekNum * 7);

    // Subtract 3 days from Thursday to get Monday, which is the first weekday in ISO8601
    return result.AddDays(-3);}



查看完整回答
反對 回復(fù) 2019-12-19
?
呼啦一陣風(fēng)

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超6個(gè)贊

最簡單的方法可能是找到一年中的第一個(gè)星期一,然后加上相關(guān)的周數(shù)。這是一些示例代碼。順便說一句,它假設(shè)一個(gè)星期數(shù)從1開始:

using System;class Test{
    static void Main()
    {
        // Show the third Tuesday in 2009. Should be January 20th
        Console.WriteLine(YearWeekDayToDateTime(2009, DayOfWeek.Tuesday, 3));
    }

    static DateTime YearWeekDayToDateTime(int year, DayOfWeek day, int week)
    {
        DateTime startOfYear = new DateTime (year, 1, 1);

        // The +7 and %7 stuff is to avoid negative numbers etc.
        int daysToFirstCorrectDay = (((int)day - (int)startOfYear.DayOfWeek) + 7) % 7;

        return startOfYear.AddDays(7 * (week-1) + daysToFirstCorrectDay);
    }}



查看完整回答
反對 回復(fù) 2019-12-19
  • 3 回答
  • 0 關(guān)注
  • 347 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號