当前位置: 首页 > news >正文

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 获取时区信息。

相关文章:

  • Generate html
  • 【练习】图论
  • 在vue3中vue-cropper的初使用
  • 用java实现word(docx)转换为pdf格式文档(简单版)
  • PyInstaller在Linux环境下的打包艺术
  • AndroidStudio中可用的Ai插件
  • 【xdoj离散数学上机】T283
  • 微软编程之C#如何学习,C#学习路线:从入门到精通
  • Docker Desktop WebAPI《1》
  • 【DuodooBMS】基于Odoo的开源制造执行系统——以开源之力,驱动智能制造
  • NO.16十六届蓝桥杯备战|for循环|七道习题|ceil|floor|pow(C++)
  • 以什么方式维护html网页的多语言版本比较好
  • 渗透测试--文件包含漏洞
  • 蓝桥杯算法日记|2.11二分算法
  • C语言之循环结构:直到型循环
  • 点大商城V2-2.6.6源码全开源uniapp +搭建教程
  • 安装WPS后,导致python调用Excel.Application异常,解决办法
  • 【C++ 真题】P1824 进击的奶牛
  • elementUI tree树形控件 根据数据动态设置禁用,全选时不可选中禁用数据
  • 股指期货和etf期权哪个更好交易?
  • 营销型网站策划建设/推广百度百科
  • 石家庄做网站公司/营销软文300字
  • 建设网站运营方案/公司网站制作要多少钱
  • 专门做运动装备的网站/怎么开网店新手入门
  • wordpress文章没办法显示略缩图/网站seo优化总结
  • 导航网站制作/学电脑培训班多少一个月