C#學習之DateTime 類

目錄

一、DateTime?類的常用方法和屬性的匯總表格

二、常用方法程序示例

1.?獲取當前本地時間

2.?獲取當前 UTC 時間

3.?格式化日期和時間

4.?獲取特定部分的時間

5.?獲取時間戳

6.?獲取時區信息

三、總結


一、DateTime?類的常用方法和屬性的匯總表格

在 C# 中,獲取本地系統時間非常簡單。可以使用?DateTime?類來獲取當前日期和時間。DateTime?類提供了豐富的屬性和方法,用于處理日期和時間。常用的方法包括獲取當前時間、格式化時間、計算時間差、添加時間等。

下表將DateTime?類的常用方法和屬性匯總為表格,包括說明和示例。

方法/屬性說明示例
DateTime.Now獲取當前的本地日期和時間。DateTime now = DateTime.Now;
DateTime.UtcNow獲取當前的 UTC 日期和時間。DateTime utcNow = DateTime.UtcNow;
DateTime.Today獲取當前日期,時間部分為 00:00:00。DateTime today = DateTime.Today;
DateTime.Year獲取日期中的年份部分。int year = DateTime.Now.Year;
DateTime.Month獲取日期中的月份部分(1 到 12)。int month = DateTime.Now.Month;
DateTime.Day獲取日期中的天數部分(1 到 31)。int day = DateTime.Now.Day;
DateTime.Hour獲取時間中的小時部分(0 到 23)。int hour = DateTime.Now.Hour;
DateTime.Minute獲取時間中的分鐘部分(0 到 59)。int minute = DateTime.Now.Minute;
DateTime.Second獲取時間中的秒數部分(0 到 59)。int second = DateTime.Now.Second;
DateTime.Millisecond獲取時間中的毫秒部分(0 到 999)。int millisecond = DateTime.Now.Millisecond;
DateTime.DayOfWeek獲取日期是星期幾(返回?DayOfWeek?枚舉值)。DayOfWeek dayOfWeek = DateTime.Now.DayOfWeek;
DateTime.DayOfYear獲取日期是一年中的第幾天(1 到 366)。int dayOfYear = DateTime.Now.DayOfYear;
DateTime.AddDays()在當前日期上添加指定的天數。DateTime newDate = DateTime.Now.AddDays(5);
DateTime.AddHours()在當前時間上添加指定的小時數。DateTime newTime = DateTime.Now.AddHours(3);
DateTime.AddMinutes()在當前時間上添加指定的分鐘數。DateTime newTime = DateTime.Now.AddMinutes(30);
DateTime.AddSeconds()在當前時間上添加指定的秒數。DateTime newTime = DateTime.Now.AddSeconds(45);
DateTime.AddMonths()在當前日期上添加指定的月數。DateTime newDate = DateTime.Now.AddMonths(2);
DateTime.AddYears()在當前日期上添加指定的年數。DateTime newDate = DateTime.Now.AddYears(1);
DateTime.Subtract()計算兩個日期之間的時間差,返回?TimeSpan?對象。TimeSpan diff = DateTime.Now.Subtract(previousDate);
DateTime.ToString()將日期時間格式化為字符串。string formatted = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
DateTime.Parse()將字符串解析為?DateTime?對象。DateTime date = DateTime.Parse("2023-10-05");
DateTime.TryParse()嘗試將字符串解析為?DateTime?對象,返回是否成功。bool success = DateTime.TryParse("2023-10-05", out DateTime date);
DateTime.Compare()比較兩個日期時間,返回一個整數(小于 0:前者早于后者;等于 0:相等;大于 0:前者晚于后者)。int result = DateTime.Compare(date1, date2);
DateTime.Equals()判斷兩個日期時間是否相等。bool isEqual = date1.Equals(date2);
DateTime.IsLeapYear()判斷指定年份是否為閏年。bool isLeap = DateTime.IsLeapYear(2024);
DateTime.DaysInMonth()返回指定年份和月份的天數。int days = DateTime.DaysInMonth(2023, 2);
DateTime.ToShortDateString()將日期格式化為短日期字符串(如 "2023/10/05")。string shortDate = DateTime.Now.ToShortDateString();
DateTime.ToLongDateString()將日期格式化為長日期字符串(如 "2023年10月5日")。string longDate = DateTime.Now.ToLongDateString();
DateTime.ToShortTimeString()將時間格式化為短時間字符串(如 "14:30")。string shortTime = DateTime.Now.ToShortTimeString();
DateTime.ToLongTimeString()將時間格式化為長時間字符串(如 "14:30:45")。string longTime = DateTime.Now.ToLongTimeString();
DateTime.ToFileTime()將日期時間轉換為文件時間(64 位整數,表示從 1601-01-01 開始的 100 納秒間隔)。long fileTime = DateTime.Now.ToFileTime();
DateTime.ToUniversalTime()將本地時間轉換為 UTC 時間。DateTime utcTime = DateTime.Now.ToUniversalTime();
DateTime.ToLocalTime()將 UTC 時間轉換為本地時間。DateTime localTime = utcTime.ToLocalTime();

二、常用方法程序示例

1.?獲取當前本地時間

使用?DateTime.Now?屬性可以獲取當前的本地日期和時間。

using System;class Program
{static void Main(){// 獲取當前本地時間DateTime localTime = DateTime.Now;// 輸出本地時間Console.WriteLine("當前本地時間: " + localTime);}
}

2.?獲取當前 UTC 時間

如果需要獲取協調世界時(UTC),可以使用?DateTime.UtcNow?屬性。

using System;class Program
{static void Main(){// 獲取當前 UTC 時間DateTime utcTime = DateTime.UtcNow;// 輸出 UTC 時間Console.WriteLine("當前 UTC 時間: " + utcTime);}
}

3.?格式化日期和時間

可以使用?ToString()?方法將日期和時間格式化為特定的字符串格式。

using System;class Program
{static void Main(){// 獲取當前本地時間DateTime localTime = DateTime.Now;// 格式化輸出Console.WriteLine("短日期格式: " + localTime.ToShortDateString());Console.WriteLine("長日期格式: " + localTime.ToLongDateString());Console.WriteLine("短時間格式: " + localTime.ToShortTimeString());Console.WriteLine("長時間格式: " + localTime.ToLongTimeString());Console.WriteLine("自定義格式: " + localTime.ToString("yyyy-MM-dd HH:mm:ss"));}
}

4.?獲取特定部分的時間

可以通過?DateTime?的屬性獲取年、月、日、時、分、秒等部分。

using System;class Program
{static void Main(){// 獲取當前本地時間DateTime localTime = DateTime.Now;// 獲取時間部分int year = localTime.Year;int month = localTime.Month;int day = localTime.Day;int hour = localTime.Hour;int minute = localTime.Minute;int second = localTime.Second;// 輸出時間部分Console.WriteLine($"年: {year}, 月: {month}, 日: {day}");Console.WriteLine($"時: {hour}, 分: {minute}, 秒: {second}");}
}

5.?獲取時間戳

如果需要獲取當前時間的時間戳(從 1970-01-01 到現在的秒數或毫秒數),可以使用以下方法:

using System;class Program
{static void Main(){// 獲取當前時間的時間戳(秒)long timestampSeconds = DateTimeOffset.UtcNow.ToUnixTimeSeconds();// 獲取當前時間的時間戳(毫秒)long timestampMilliseconds = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds();// 輸出時間戳Console.WriteLine("時間戳(秒): " + timestampSeconds);Console.WriteLine("時間戳(毫秒): " + timestampMilliseconds);}
}

6.?獲取時區信息

如果需要獲取本地時間的時區信息,可以使用?TimeZoneInfo?類。

using System;class Program
{static void Main(){// 獲取本地時區TimeZoneInfo localTimeZone = TimeZoneInfo.Local;// 輸出時區信息Console.WriteLine("本地時區: " + localTimeZone.DisplayName);Console.WriteLine("時區 ID: " + localTimeZone.Id);Console.WriteLine("當前 UTC 偏移量: " + localTimeZone.BaseUtcOffset);}
}

三、總結

  • 使用?DateTime.Now?獲取本地系統時間。

  • 使用?DateTime.UtcNow?獲取 UTC 時間。

  • 使用?ToString()?方法格式化日期和時間。

  • 使用?DateTime?的屬性獲取年、月、日、時、分、秒等部分。

  • 使用?DateTimeOffset?獲取時間戳。

  • 使用?TimeZoneInfo?獲取時區信息。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/70034.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/70034.shtml
英文地址,請注明出處:http://en.pswp.cn/web/70034.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

dedecms 開放重定向漏洞(附腳本)(CVE-2024-57241)

免責申明: 本文所描述的漏洞及其復現步驟僅供網絡安全研究與教育目的使用。任何人不得將本文提供的信息用于非法目的或未經授權的系統測試。作者不對任何由于使用本文信息而導致的直接或間接損害承擔責任。如涉及侵權,請及時與我們聯系,我們將盡快處理并刪除相關內容。 0x0…

如何選擇合適的超參數來訓練Bert和TextCNN模型?

選擇合適的超參數來訓練Bert和TextCNN模型是一個復雜但關鍵的過程,它會顯著影響模型的性能。以下是一些常見的超參數以及選擇它們的方法: 1. 與數據處理相關的超參數 最大序列長度(max_length) 含義:指輸入到Bert模…

AWS 前端自動化部署流程指南

本文詳細介紹從前端代碼開發到 AWS 自動化部署的完整流程。 一、流程概覽 1.1 部署流程圖 #mermaid-svg-nYg7k6L5IKVBjDtr {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-nYg7k6L5IKVBjDtr .error-icon{fill:#552…

Office word打開加載比較慢處理方法

1.添加safe參數 ,找到word啟動項,右擊word,選擇屬性 , 添加/safe , 應用并確定 2.取消加載項,點擊文件,點擊選項 ,點擊加載項,點擊轉到,取消所有勾選,確定。

大數據SQL調優專題——Spark執行原理

引入 在深入MapReduce中有提到,MapReduce雖然通過“分而治之”的思想,解決了海量數據的計算處理問題,但性能還是不太理想,這體現在兩個方面: 每個任務都有比較大的overhead,都需要預先把程序復制到各個 w…

MYSQL下載安裝及使用

MYSQL官網下載地址:https://downloads.mysql.com/archives/community/ 也可以直接在服務器執行指令下載,但是下載速度比較慢。還是自己下載好拷貝過來比較快。 wget https://dev.mysql.com/get/Downloads/mysql-5.7.38-linux-glibc2.12-x86_64.tar.gz 1…

CentOS 7.8 安裝MongoDB 7 副本集(Replica Set)

文章目錄 1 環境假設步驟1:在兩臺服務器上安裝MongoDB步驟2:配置副本集步驟3:初始化副本集步驟4:驗證副本集配置步驟5:設置安全性(可選)擴展配置示例:最佳實踐:仲裁節點步…

AJAX 與 ASP 的深入探討

AJAX 與 ASP 的深入探討 引言 隨著互聯網技術的飛速發展,Web應用程序的交互性和性能要求越來越高。AJAX(Asynchronous JavaScript and XML)和ASP(Active Server Pages)作為兩種重要的Web開發技術,在提高Web應用程序性能和用戶體驗方面發揮著重要作用。本文將深入探討AJ…

內網下,Ubuntu (24.10) 離線安裝docker最新版教程

一般在數據比較敏感的情況下,是無法使用網絡的,而對于Ubuntu系統來說,怎么離線安裝docker呢? 下面我給大家來講一下: 采用二進制安裝: 1.下載docker離線包 官網下載: Index of linux/static…

Copilot Next Edit Suggestions(預覽版)

作者:Brigit Murtaugh,Burke Holland 排版:Alan Wang 我們很高興向你介紹在本次 Visual Studio Code 發布中,關于 GitHub Copilot 的三個預覽功能: Next Edit Suggestions(NES)Copilot Edits 的…

高性能內存對象緩存Memcached詳細實驗操作

目錄 前提準備: cache1,2: 客戶端cache-api(一定得是LAMP環境) memcache實現主主復制以及高可用(基于以上完成) cache1,2: memcachekeepalived(基于以上完成) cache1,2: 前提準備: 1. 準備三臺cent…

全單模矩陣及其在分支定價算法中的應用

全單模矩陣及其在分支定價算法中的應用 目錄 全單模矩陣的定義與特性全單模矩陣的判定方法全單模矩陣在優化中的核心價值分支定價算法與矩陣單模性的關系非全單模問題的挑戰與系統解決方案總結與工程實踐建議 1. 全單模矩陣的定義與特性 關鍵定義 單模矩陣(Unimo…

Spring AI發布!讓Java緊跟AI賽道!

1. 序言 在當今技術發展的背景下,人工智能(AI)已經成為各行各業中不可忽視的重要技術。無論是在互聯網公司,還是傳統行業,AI技術的應用都在大幅提升效率、降低成本、推動創新。從智能客服到個性化推薦,從語…

【kafka系列】Kafka如何保證消息不丟失?

目錄 1. 生產者端:確保消息成功發送到Broker 核心機制: 關鍵步驟: 2. Broker端:持久化與副本同步 核心機制: 關鍵源碼邏輯: 3. 消費者端:可靠消費與Offset提交 核心機制: 關…

利用二分法+布爾盲注、時間盲注進行sql注入

一、布爾盲注&#xff1a; import requestsdef binary_search_character(url, query, index, low32, high127):while low < high:mid (low high 1) // 2payload f"1 AND ASCII(SUBSTRING(({query}),{index},1)) > {mid} -- "res {"id": payloa…

UART(一)——UART基礎

一、定義 UART(Universal Asynchronous Receiver/Transmitter)是一種廣泛使用的串行通信協議,用于在設備間通過異步方式傳輸數據。它無需共享時鐘信號,而是依賴雙方預先約定的參數(如波特率)完成通信。 功能和特點 基本的 UART 系統只需三個信號即可提供穩健的中速全雙工…

【PHP】php+mysql 活動信息管理系統(源碼+論文+數據庫+數據庫文件)【獨一無二】

&#x1f449;博__主&#x1f448;&#xff1a;米碼收割機 &#x1f449;技__能&#x1f448;&#xff1a;C/Python語言 &#x1f449;專__注&#x1f448;&#xff1a;專注主流機器人、人工智能等相關領域的開發、測試技術。 【PHP】php 活動信息管理系統&#xff08;源碼論文…

數據結構——單向循環鏈表、雙鏈表、雙向循環鏈表

目錄 一、單向循環鏈表 1.1 單向循環鏈表的概念 1.2 單向循環鏈表的操作 1.2.1 單向循環鏈表的創建 1.2.2 單向循環鏈表的頭插 1.2.3 單向循環鏈表的遍歷 1.2.4 單向循環鏈表的頭刪 1.2.5 單向循環鏈表的尾插 1.2.6 單向循環鏈表的尾刪 1.2.7 約瑟夫環 1.3 單向循環列表所有程…

Apache Iceberg 與 Apache Hudi:數據湖領域的雙雄對決

在數據存儲和處理不斷發展的領域中&#xff0c;數據湖倉的概念已經嶄露頭角&#xff0c;成為了一種變革性的力量。數據湖倉結合了數據倉庫和數據湖的最佳元素&#xff0c;提供了一個統一的平臺&#xff0c;支持數據科學、商業智能、人工智能/機器學習以及臨時報告等多種關鍵功能…

JavaScript數組-數組的概念

在JavaScript編程中&#xff0c;數組&#xff08;Array&#xff09;是一種非常重要的數據結構&#xff0c;它允許我們將多個值存儲在一個單獨的變量中。數組可以包含任意類型的元素&#xff0c;如數字、字符串、對象甚至是其他數組&#xff0c;并提供了豐富的內置方法來操作這些…