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.mzph.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;并提供了丰富的内置方法来操作这些…