中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

.NET?6的DateOnly和TimeOnly類型怎么用

發布時間:2022-03-14 13:34:20 來源:億速云 閱讀:206 作者:iii 欄目:開發技術

這篇文章主要介紹了.NET 6的DateOnly和TimeOnly類型怎么用的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇.NET 6的DateOnly和TimeOnly類型怎么用文章都會有所收獲,下面我們一起來看看吧。

    前言:

    在.NET 6之前,沒有方法來直接表示沒有時間的日期(比如生日)或者沒有日期的一天中的時間(比如鬧鐘)。

    雖然我們可以使用DateTime類和TimeSpan類來代替,但是實際使用中會存在一些問題:

    var dateOnly = new DateTime(2021, 10, 1);
    //輸出
    2021/10/1 0:00:00
    //問題:還是有時間,并不能代表0點出生
    
    var timeOnly = new TimeSpan(11, 22, 0).Add(TimeSpan.FromHours(24));
    //輸出
    1.11:22:00
    //問題:過了24小時,應該還是當前時間,實際帶了天數

    因此,.Net 6引入了DateOnly和TimeOnly結構,可以存儲日期和時間

    舉例

    1.創建實例

    我們可以直接創建DateOnly或者TimeOnly的實例:

    var dateOnly = new DateOnly(2021, 10, 1);
    //輸出
    10/1/2021
    
    var timeOnly = new TimeOnly(11, 22, 0);
    //輸出
    11:22 AM

    還可以使用FromDateTime方法從DateTime實例中生成:

    var datetime = new DateTime(2021, 10, 1, 10, 1, 0);
    
    var dateOnly = DateOnly.FromDateTime(datetime);
    
    var timeOnly = TimeOnly.FromDateTime(datetime);

    還可以使用FromTimeSpan方法從TimeSpan實例中生成TimeOnly:

    var timeSpan = new TimeSpan(11, 22, 0);
     
    var timeOnly = TimeOnly.FromTimeSpan(timeSpan);

    2.類型轉換

    反之,可以使用ToDateTime方法將DateOnly實例轉換成DateTime:

    var dateOnly = new DateOnly(2021, 10, 1);
    
    var timeOnly = new TimeOnly(11, 22, 0);
    
    var datetime = dateOnly.ToDateTime(timeOnly);
    //輸出
    10/1/2021 11:22:00 AM

    可以看到,必須同時帶上TimeOnly實例才能轉換。

    也可以使用ToTimeSpan方法將TimeOnly實例轉換成TimeSpan:

    var timeOnly = new TimeOnly(11, 22, 0);
    
    var timeSpan = timeOnly.ToTimeSpan();
    //輸出
    11:22:00

    3.操作

    DateOnly和TimeOnly類型還提供了比較運算符(例如<和>)和AddXXX方法進行操作:

    var noon = new TimeOnly(12, 0);
    if (now < noon)
    {
        //早上
        ...
    }
    
    dateOnly = dateOnly.AddDays(7);
    
    timeOnly = timeOnly.AddHours(24);

    需要注意的是:僅僅TimeOnly類型支持-運算符,獲得TimeSpan時間間隔。

    結論:

    DateOnly和TimeOnly的引入并不意味著DateTime將不再有用,只是將它們用在不同場景。 

    關于“.NET 6的DateOnly和TimeOnly類型怎么用”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“.NET 6的DateOnly和TimeOnly類型怎么用”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    平利县| 保德县| 建水县| 海伦市| 文成县| 潮州市| 兴城市| 桦川县| 辛集市| 开平市| 卢氏县| 赤峰市| 即墨市| 紫阳县| 平遥县| 泾阳县| 江都市| 沙洋县| 波密县| 巴里| 科尔| 峡江县| 台山市| 罗平县| 遂宁市| 仪陇县| 枣阳市| 吴川市| 新沂市| 武义县| 肃宁县| 库车县| 化州市| 定南县| 宝清县| 天祝| 临清市| 南京市| 广灵县| 泸水县| 岳阳市|