C#教程
C#控制语句
C#函数
C#数组
C#面向对象
C#命名空间和异常
C#文件IO
C#集合
C#多线程
C#其它

C# DateTime

C# DateTime

当需要处理 C# 中的日期和时间时,我们使用了 DateTime。
我们可以格式化日期和
DateTime 的值介于 0001 年 1 月 1 日午夜 12:00:00 和 12 月 11:59:59 PM 之间31, 9999 AD
这里我们将解释如何在 C# 中创建 DateTime。
我们有不同的方法来创建 DateTime 对象。 DateTime 对象具有 Time、Culture、Date、Localization、Milliseconds。
这里的代码显示了 DateTime 结构使用的各种构造函数来创建 DateTime 对象。
// From DateTime create the Date and Time
   DateTime DOB= new DateTime(19, 56, 8, 12, 8, 12, 23);
// From String creation of DateTime
            string DateString= "8/12/1956 7:10:24 AM";
            DateTime dateFromString =
                DateTime.Parse(DateString, System.Globalization.CultureInfo.InvariantCulture);
            Console.WriteLine(dateFromString.ToString());
// Empty DateTime  
            DateTime EmpDateTime= new DateTime();
// Just date  
            DateTime OnlyDate= new DateTime(2002, 10, 18);
// DateTime from Ticks  
            DateTime OnlyTime= new DateTime(10000000); 
// Localization with DateTime
            DateTime DateTimewithKind = new DateTime(1976, 7, 10, 7, 10, 24, DateTimeKind.Local); 
// DateTime with date, time and milliseconds  
            DateTime WithMilliseconds= new DateTime(2010, 12, 15, 5, 30, 45, 100);

C# 中 DateTime 的属性

DateTime 具有日期和时间属性。从 DateTime 中,我们可以找到日期和时间。 DateTime 还包含其他属性,例如 Hour、Minute、Second、Millisecond、Year、Month 和 Day。
DateTime 的其他属性是:
借助 DayOfWeek 属性,我们可以从一周中获取一天的名称。 要获取一年中的哪一天,我们将使用 DayOfYear 属性。 要获取 DateTime 中的时间,我们使用 TimeOfDay 属性。 Today 属性将返回具有今天值的 DateTime 对象。时间的值为12:00:00 Now 属性将返回具有当前日期和时间的 DateTime 对象。 DateTime 的 Utc 属性将返回协调世界时(UTC)。 一个刻度代表 DateTime 中的一百纳秒。 DateTime 的 Ticks 属性返回 DateTime 中的刻度数。 Kind 属性返回值,其中时间表示由实例完成,该值基于本地时间,协调世界时(UTC)。它还显示未指定的默认值。
这里以C#代码中DateTime属性的使用为例。
例子:
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApp8
{
    class Program
    {
        static void Main(string[] args)
        {
            DateTime DateTimeProperty = new DateTime(1974, 7, 10, 7, 10, 24);
            Console.WriteLine("Day:{0}", DateTimeProperty.Day);
            Console.WriteLine("Month:{0}", DateTimeProperty.Month);
            Console.WriteLine("Year:{0}", DateTimeProperty.Year);
            Console.WriteLine("Hour:{0}", DateTimeProperty.Hour);
            Console.WriteLine("Minute:{0}", DateTimeProperty.Minute);
            Console.WriteLine("Second:{0}", DateTimeProperty.Second);
            Console.WriteLine("Millisecond:{0}", DateTimeProperty.Millisecond);
            Console.WriteLine("Day of Week:{0}", DateTimeProperty.DayOfWeek);
            Console.WriteLine("Day of Year: {0}", DateTimeProperty.DayOfYear);
            Console.WriteLine("Time of Day:{0}", DateTimeProperty.TimeOfDay);
            Console.WriteLine("Tick:{0}", DateTimeProperty.Ticks);
            Console.WriteLine("Kind:{0}", DateTimeProperty.Kind);
        }
    }
}
输出:
DateTime in C#

C# 中 DateTime 的加法和减法

DateTime 结构提供了在 DateTime 对象中加减日期和时间的方法。我们可以在 DateTime 结构中添加和减去 DateTime 对象中的日期。对于DateTime 中的Addition 和Subtraction,我们使用TimeSpan 结构。
对于Addition 和Subtraction,我们可以使用DateTime 对象中的Add 和Subtract 方法。首先,我们使用 Add 和 Subtract 方法创建具有日期和时间值的 TimeSpan。
这里我们正在创建一个代码,将添加 3 并从今天减去 30 天并显示控制台上的一天。
using System;
using System. Collections;
using System.Collections.Generic;
using System. Linq;
using System. Text;
using System.Threading.Tasks;
namespace ConsoleApp8
{
    class Program
    {
        static void Main(string[] args)
        {
            DateTime Day = DateTime.Now;
            TimeSpan Month = new System.TimeSpan(30, 0, 0, 0);
            DateTime aDayAfterAMonth = Day.Add(Month);
            DateTime aDayBeforeAMonth = Day.Subtract(Month);
            Console.WriteLine("{0:dddd}", aDayAfterAMonth);
            Console.WriteLine("{0:dddd}", aDayBeforeAMonth);
        }
    }
}
DateTime 结构包含添加年、日、时、分、秒的方法。
使用 Add 方法向 DateTime 对象添加不同的组件。
// To Add the Years and Days  
   day.AddYears(2);
   day.AddDays(12);
// Add Hours, Minutes, Seconds, Milliseconds, and Ticks  
   Day.AddHours(4.25);
   day.AddMinutes(15);
   day.AddSeconds(45);
   day.AddMilliseconds(200);
day.AddTicks(5000);
DateTime 不包含减法方法。要减去 DateTime 的组件,我们将仅使用减法方法。例如: 如果我们需要从 DateTime 中减去 12 天,我们可以创建另一个具有 12 天的 DateTime 或 TimeSpan 对象。现在我们将从 DateTime 中减去这个对象。作为替代,我们还可以使用减号运算符从 DateTime 中减去 DateTime 或 TimeSpan。
现在我们将创建一个代码,通过它我们可以创建 DateTime 的对象并减去另一个 DateTime 和时间跨度的对象。在代码中,我们将仅显示从 DateTime 减去小时、天或其他组件。
DateTime DOB = new DateTime(2000, 10, 20, 12, 15, 45);
DateTime SubtractDate = new DateTime(2000, 2, 6, 13, 5, 15);
// Use the TimeSpan with 10 days, 2 hrs, 30 mins, 45 seconds, and 100 milliseconds  
TimeSpan ts = new TimeSpan(10, 2, 30, 45, 100);
// Subtract the DateTime  
TimeSpan Different = DOB.Subtract(SubtractDate);
Console.WriteLine(Different.ToString());
// Subtract the TimeSpan  
DateTime Different2 = DOB.Subtract(ts);
Console.WriteLine(Different2.ToString());
// Subtract 10 Days by creating the object SubtractedDays
 DateTime SubtractedDays = new DateTime(DOB.Year, DOB.Month, DOB.Day-10);
 Console.WriteLine(SubtractedDays.ToString());
 // Subtract hours, minutes, and seconds with creating the object HoursMinutesSeconds
 DateTime HoursMinutesSeconds = new DateTime(DOB.Year, DOB.Month, DOB.Day, DOB.Hour-1, DOB.Minute-15, DOB.Second-15);
Console.WriteLine(HoursMinutesSeconds.ToString());

搜索月份中的天数

为了查找月份中的天数,我们使用了静态DaysInMonth 方法。这种搜索方法 [] 接受 1 到 12 之间的数字参数。
这里我们将编写一个代码,通过它我们将找出特定月份的天数。
在这里,我们将找出 2020 年 2 月的天数。输出为 28 天。
int NumberOfDays = DateTime.DaysInMonth(2004, 2);
Console.WriteLine(NumberOfDays);
使用相同的技术,我们可以找出一年中的总天数。为此,我们将使用 DaysInYear 方法。
private int DaysInYear(int year)
            {
                int DaysIN= 0;
                for (int j = 1; j <= 12; j++)
                {
                    DaysIN += DateTime.DaysInMonth(year, j);
                }
                return DaysIN;
            }

C#中两个DateTime的比较

比较器静态方法用于比较两个datetime的对象。如果两个DateTime的对象相同,则结果为0。如果第一个DateTime较早,则结果为0,否则第一个DateTime将较晚。
现在我们将展示 C# 中两个 datetime 对象的比较。
using System;
using System. Collections;
using System.Collections.Generic;
using System. Linq;
using System. Text;
using System.Threading.Tasks;
namespace ConsoleApp8
{
    class Program
    {
        static void Main(string[] args)
        {
            DateTime DateOfFirst = new DateTime(2002, 10, 22);
            DateTime DateOfSecond = new DateTime(2009, 8, 11);
            int result1 = DateTime.Compare(DateOfFirst, DateOfSecond);
            if (result1 < 0)
                Console.WriteLine("Date of First is earlier");
            else if (result1 == 0)
                Console.WriteLine("Both dates are same");
            else
                Console.WriteLine("Date of First is later");
        }
    }
}
输出:
DateTime in C#

CompareTo 方法

CompareTo 方法用于比较两个日期。我们将在此方法中分配 DateTime 或对象。
为了比较两个 DateTime 对象,我们使用了 CompareTo 方法。下面我们有一个 C# 代码来比较 DateTime 对象。
using System;
using System. Collections;
using System.Collections.Generic;
using System. Linq;
using System. Text;
using System.Threading.Tasks;
namespace ConsoleApp8
{
    class Program
    {
        static void Main(string[] args)
        {
            DateTime DateOfFirst = new DateTime(2001, 10, 20);
            DateTime DateOfSecond = new DateTime(2009, 8, 11);
            int ResultOfComparison = DateOfFirst.CompareTo(DateOfSecond);
            if (ResultOfComparison < 0)
                Console.WriteLine("Date Of First is Earlier");
            else if (ResultOfComparison == 0)
                Console.WriteLine("Date of Both are same");
            else
                Console.WriteLine("Date of First is Later");
        }
    }
}
输出:
DateTime in C#

C# 中 DateTime 的格式化

在 C# 中,我们可以根据需要将 DateTime 格式化为任何类型的字符串格式。
对于 DateTime 的格式化,我们使用了 GetDateTimeFormats 方法,该方法返回计算机当前文化的所有可能的 DateTime 格式。
这里我们有一个 C# 代码,它返回所有字符串的数组可能的标准格式。
using System;
using System. Collections;
using System.Collections.Generic;
using System. Linq;
using System. Text;
using System.Threading.Tasks;
namespace ConsoleApp8
{
    class Program
    {
        static void Main(string[] args)
        {
            DateTime DateOfMonth = new DateTime(2020, 02, 25);
            string[] FormatsOfDate = DateOfMonth.GetDateTimeFormats();
            foreach (string format in FormatsOfDate)
                Console.WriteLine(format);
        }
    }
} 
输出:
DateTime in C#
DateTime in C#
我们可以重载 GetDateTimeFormats 方法,它采用格式说明符作为参数并将 DateTime 转换为该格式。要获得所需的格式,我们需要了解 DateTime 说明符的格式。
我们将在表格中使用带有模式的代码来展示它。
代码 模式
"d" 短日期
"D" 长日期
"f" 完整日期时间。很短的时间。
"F" 完整日期时间。好久不见。
"g" 生成日期时间。好久不见。
"G" 一般日期时间。好久不见。
"M","m." 月/日
"O","O" 往返日期/时间。
"R","r" RFC1123
"s" 可排序的日期时间。
"t" 排序时间
"T" 好久了
"你" 通用可排序日期时间。
"U" 通用完整日期时间。
"Y","y" 年、月
我们将在下面的 C# 代码中指定 DateTime 的格式。
using System;
using System. Collections;
using System.Collections.Generic;
using System. Linq;
using System. Text;
using System.Threading.Tasks;
namespace ConsoleApp8
{
    class Program
    {
        static void Main(string[] args)
        {
            DateTime FormatOfDate = new DateTime(2020, 02, 25);
            // DateTime Formats: d, D, f, F, g, G, m, o, r, s, t, T, u, U,  
            Console.WriteLine("----------------");
            Console.WriteLine("d Formats");
            Console.WriteLine("----------------");
            string[] DateFormat = FormatOfDate.GetDateTimeFormats('d');
            foreach (string format in DateFormat)
                Console.WriteLine(format);
            Console.WriteLine("----------------");
            Console.WriteLine("D Formats");
            Console.WriteLine("----------------");
            DateFormat = FormatOfDate.GetDateTimeFormats('D');
            foreach (string format in DateFormat)
                Console.WriteLine(format);
            Console.WriteLine("----------------");
            Console.WriteLine("f Formats");
            Console.WriteLine("----------------");
            DateFormat = FormatOfDate.GetDateTimeFormats('f');
            foreach (string format in DateFormat)
                Console.WriteLine(format);
            Console.WriteLine("----------------");
            Console.WriteLine("F Formats");
            Console.WriteLine("----------------");
            DateFormat = FormatOfDate.GetDateTimeFormats('F');
            foreach (string format in DateFormat)
                Console.WriteLine(format);
        }
    }
}
输出:
DateTime in C#
DateTime in C#
我们也可以通过在 ToString 中传递格式说明符来对 DateTime 进行格式化() 方法的 DateTime。现在我们将使用 ToString() 方法编写用于格式化 DateTime 的 C# 代码。
Console.WriteLine(DateOfFormat.ToString("r"));
现在我们将为 ToString() 方法中的 DateTime 格式说明符编写 C# 代码。
DateTime in C#

获取闰年和夏令时

通过 C# 代码,我们将获取闰年和夏令时。
using System;
using System. Collections;
using System.Collections.Generic;
using System. Linq;
using System. Text;
using System.Threading.Tasks;
namespace ConsoleApp8
{
    class Program
    {
        static void Main(string[] args)
        {
            DateTime DateOfTime = new DateTime(2020, 02, 22);
            Console.WriteLine(DateOfTime.IsDaylightSavingTime());
            Console.WriteLine(DateTime.IsLeapYear(DateOfTime.Year));
        }
    }
}
输出:
DateTime in C#

将字符串转换为 DateTime

为了将字符串转换为 DateTime 对象,我们使用了 Parse 方法。在 Parse 方法中,传递的字符串必须具有正确的 DateTime 格式。对于 DateTime 到 String 的转换,使用了 ToString() 方法。
using System;
using System. Collections;
using System.Collections.Generic;
using System. Linq;
using System. Text;
using System.Threading.Tasks;
namespace ConsoleApp8
{
    class Program
    {
        static void Main(string[] args)
        {
            string DT = "2020-02-04T20:12:45-5:00";
            DateTime NEWDt = DateTime.Parse(DT);
            Console.WriteLine(NEWDt.ToString());
        }
    }
}
输出:
DateTime in C#

C#中DateTime的转换

DateTime的结构充满了不言自明的转换,就是将DateTime转换成具体的类型。方法有 ToFileTime、ToLocalTime、ToLongDateString、ToBinary、ToLongTimeString、ToOADate、ToShortDateString、ToShortTimeString、ToString 和 ToUniversalTime。
这里我们以 C# 为例,将 DateTime 转换为特定类型。
>
using System;
using System. Collections;
using System.Collections.Generic;
using System. Linq;
using System. Text;
using System.Threading.Tasks;
namespace ConsoleApp8
{
    class Program
    {
        static void Main(string[] args)
        {
            DateTime DOB = new DateTime(2020, 01, 22);
            Console.WriteLine("ToString: " + DOB.ToString());
            Console.WriteLine("ToBinary: " + DOB.ToBinary());
            Console.WriteLine("ToFileTime: " + DOB.ToFileTime());
            Console.WriteLine("ToLocalTime: " + DOB.ToLocalTime());
            Console.WriteLine("ToLongDateString: " + DOB.ToLongDateString());
            Console.WriteLine("ToLongTimeString: " + DOB.ToLongTimeString());
            Console.WriteLine("ToOADate: " + DOB.ToOADate());
            Console.WriteLine("ToShortDateString: " + DOB.ToShortDateString());
            Console.WriteLine("ToShortTimeString: " + DOB.ToShortTimeString());
            Console.WriteLine("ToUniversalTime: " + DOB.ToUniversalTime());
        }
    }
}  
输出:
DateTime in C# C#中的
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4