在 C# 中,DateTime 是一個結構體。因此它是值類型並用於表示瞬時時間。它用於表示一天中的日期和時間。 DateTime 類型的值範圍為 0001 年 1 月 1 日午夜 12:00:00 至 9999 年 12 月 31 日晚上 11:59:59。 DateTime 的值不能為 null,因為它是值型別。要初始化 DateTime 值,我們可以呼叫 DateTime 建構函式的任何重載。我們也可以將從屬性或方法傳回的值指派給 DateTime 物件。
文法:
以下是初始化 DateTime 結構的新實例的語法:
DateTime date_time = new DateTime();
這裡,date_time 是為 DateTime 類型的實例指定的使用者定義名稱。我們使用“new”運算符初始化了該實例。在上面的語法中,我們使用隱式無參數建構函式將 DateTime 初始化為其預設值。我們也可以使用 DateTime 建構函式的任何重載來初始化 DateTime 實例。
在 C# 中,我們可以使用 DateTime 並透過多種方式為 DateTime 變數賦值。
DateTime dateTime = new DateTime(2020, 2, 8, 7, 32, 56);
上述語句初始化特定年、月、日、小時、分鐘和秒的 DateTime 結構的新實例。
public DateTime(int year, int month, int day, int hour, int minute, int second);
public DateTime(long ticks);
public DateTime(long ticks, DateTimeKind kind);
public DateTime(int year, int month, int day);
public DateTime(int year, int month, int day, Calendar calendar);
public DateTime(int year, int month, int day, int hour, int minute, int second, DateTimeKind kind);
public DateTime(int year, int month, int day, int hour, int minute, int second, Calendar calendar);
public DateTime(int year, int month, int day, int hour, int minute, int second, int millisecond);
public DateTime(int year, int month, int day, int hour, int minute, int second, int millisecond, DateTimeKind kind);
public DateTime(int year, int month, int day, int hour, int minute, int second, int millisecond, Calendar calendar);
public DateTime(int year, int month, int day, int hour, int minute, int second, int millisecond, Calendar calendar, DateTimeKind kind);
DateTime dateTime = DateTime.Now;
這會將目前日期和時間指派給 DateTime 變數。
string str = "6/2/2020 9:20:40 AM"; DateTime dateTime = DateTime.Parse(str, System.Globalization.CultureInfo.InvariantCulture);
我們可以使用 Parse()、ParseExact()、TryParse() 和 TryParseExact() 方法執行上述轉換。
以下是如何將字串解析為 DateTime 物件的幾個範例:
使用 DateTime 提供的屬性和方法顯示當前日期和時間以及明天的日期和時間的範例:
代碼:
using System; using System.IO; namespace ConsoleApp4 { class Program { public static DateTime GetNextDay() { //getting next day using AddDays() method return DateTime.Now.AddDays(1); } public static void Main() { //displaying current date and time using 'Now' property of DateTime Console.WriteLine("Current date and time: {0}", DateTime.Now); DateTime dateTime = GetNextDay(); Console.WriteLine("Tomorrow date and time: {0}", dateTime); Console.ReadLine(); } } }
輸出:
例如,將使用者輸入的年份作為年份,然後使用 DateTime.IsLeapYear() 方法檢查是否是閏年。
代碼:
using System; using System.IO; namespace ConsoleApp4 { class Program { public static void Main() { try { //taking year as input from user Console.WriteLine("Please enter a year"); int year = Convert.ToInt32(Console.ReadLine()); //checking if entered year is a leap year or not //using DateTime.IsLeapYear() method Console.WriteLine("\n Using IsLeapYear() method:"); if (DateTime.IsLeapYear(year)) { Console.WriteLine(year + " is a leap year"); } else { Console.WriteLine(year + " is not a leap year"); } //checking if entered year is a leap year or not //using DateTime.DaysInMonth() method Console.WriteLine("\n Using DaysInMonth() method:"); if (DateTime.DaysInMonth(year, 2) == 29) { Console.WriteLine(year + " is a leap year"); } else { Console.WriteLine(year + " is not a leap year"); } } catch(Exception ex) { Console.WriteLine(ex.Message); } Console.ReadLine(); } } }
輸出:
例如,我們取得一年中的第一天和最後一天。
代碼:
using System; using System.IO; namespace ConsoleApp4 { class Program { public static void Main() { DateTime dateTime = DateTime.Now; //displaying first day of current year DateTime firstDay = new DateTime(dateTime.Year, 1, 1); Console.WriteLine("First day of {0} is {1}", dateTime.Year, firstDay); //getting first day of next year DateTime dateTimeNext = new DateTime(dateTime.Year + 1, 1, 1); //subtracting one day from the first day of next year //to get the last day of current year DateTime lastday = dateTimeNext.AddDays(-1); Console.WriteLine("Last day of {0} is {1}", dateTime.Year, lastday); Console.ReadLine(); } } }
輸出:
dateTime 結構用於處理日期和時間。它用作儲存日期和時間的資料類型。 DateTime 提供了處理日期和時間的屬性和方法。 DateTime 是結構體,且是一個值型別;它不能為空。
以上是C# 中的日期時間的詳細內容。更多資訊請關注PHP中文網其他相關文章!