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

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

如何知道DateTime是否在C#中的DateRange之間

如何知道DateTime是否在C#中的DateRange之間

Smart貓小萌 2019-09-02 15:39:07
我需要知道Date是否在DateRange之間。我有三個(gè)日期:// The date rangeDateTime startDate;DateTime endDate;DateTime dateToCheck;簡(jiǎn)單的解決方案是進(jìn)行比較,但是有更聰明的方法嗎?提前致謝。
查看完整描述

3 回答

?
慕哥9229398

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

不,做一個(gè)簡(jiǎn)單的比較對(duì)我來(lái)說(shuō)很好看:


return dateToCheck >= startDate && dateToCheck < endDate;

值得考慮的事情:


DateTime在時(shí)區(qū)方面有點(diǎn)奇怪。它可能是UTC,它可能是“本地的”,它可能是模棱兩可的。確保你將蘋(píng)果與蘋(píng)果進(jìn)行比較。

考慮您的起點(diǎn)和終點(diǎn)應(yīng)該是包容性的還是排他性的。我已經(jīng)將上面的代碼視為包含下限和獨(dú)占上限。


查看完整回答
反對(duì) 回復(fù) 2019-09-02
?
ABOUTYOU

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

通常我會(huì)為這些事情創(chuàng)建Fowler's Range實(shí)現(xiàn)。


public interface IRange<T>

{

    T Start { get; }

    T End { get; }

    bool Includes(T value);

    bool Includes(IRange<T> range);

}


public class DateRange : IRange<DateTime>         

{

    public DateRange(DateTime start, DateTime end)

    {

        Start = start;

        End = end;

    }


    public DateTime Start { get; private set; }

    public DateTime End { get; private set; }


    public bool Includes(DateTime value)

    {

        return (Start <= value) && (value <= End);

    }


    public bool Includes(IRange<DateTime> range)

    {

        return (Start <= range.Start) && (range.End <= End);

    }

}

用法非常簡(jiǎn)單:


DateRange range = new DateRange(startDate, endDate);

range.Includes(date)


查看完整回答
反對(duì) 回復(fù) 2019-09-02
?
慕尼黑的夜晚無(wú)繁華

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

您可以使用擴(kuò)展方法使其更具可讀性:


public static class DateTimeExtensions

{

    public static bool InRange(this DateTime dateToCheck, DateTime startDate, DateTime endDate)

    {

        return dateToCheck >= startDate && dateToCheck < endDate;

    }

}

現(xiàn)在你可以寫(xiě):


dateToCheck.InRange(startDate, endDate)


查看完整回答
反對(duì) 回復(fù) 2019-09-02
  • 3 回答
  • 0 關(guān)注
  • 796 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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