C# 时间日期操作:获取当前时间与时间戳转换示例

认真发呆
认真发呆
发布时间:2026-10-14| 2人浏览过
原创

在 C# 开发中,处理时间和日期是常见的需求。本文详细讲解了如何获取当前时间并进行格式化,以及如何将时间戳转换为可读的日期格式,通过具体的代码示例帮助你掌握基础的时间操作技巧。

获取并格式化当前时间

在 C# 中,DateTime.Now 属性可以获取当前的本地日期和时间。如果需要将其转换为特定的字符串格式(如 yyyy-MM-dd),可以直接调用 ToString() 方法并传入格式字符串。

// 获取当前日期并格式化为 yyyy-MM-dd
string currentDateTime = DateTime.Now.ToString("yyyy-MM-dd");
// 例如结果可能为: "2014-3-11"(具体取决于运行时的实际日期)

第 1 步:定义时间转换方法

当需要将 Unix 时间戳(通常为从 1970 年 1 月 1 日开始的秒数或毫秒数)转换为具体的日期格式时,可以编写一个辅助方法。以下是将时间戳(假设为秒级,需处理精度)转换为指定格式字符串的实现逻辑:

private string StampToDate(string timeStamp, string format)
{
    // 基准时间:1970年1月1日
    DateTime dtStart = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1));
    
    // 解析时间戳,此处代码示例中将时间戳拼接了多个零以模拟特定精度处理,
    // 实际使用时请根据时间戳来源(秒/毫秒/微秒)调整数值单位
    long lTime = long.Parse(timeStamp + "0000000");
    
    // 创建 TimeSpan 对象
    TimeSpan toNow = new TimeSpan(lTime);
    
    // 返回格式化后的字符串
    return dtStart.Add(toNow).ToString(format);
}

第 2 步:调用并验证结果

使用上述方法时,传入时间戳字符串和目标格式即可得到结果。注意,上述代码中的 timeStamp + "0000000" 是为了适配特定输入格式进行的演示,实际业务中请确保时间戳的单位(秒或毫秒)与 TimeSpan 的处理逻辑一致。

// 调用示例
// 假设 timeStamp 为 "1394533451"
// string result = StampToDate("1394533451", "yyyy-MM-dd");
// 预期输出结果类似: "2014-3-11"

注意事项

  • 时区处理:TimeZone.CurrentTimeZone 在现代 .NET 开发中已被标记为过时,建议在较新的项目中考虑使用 System.TimeZoneInfo 进行更精确的时区转换。
  • 时间戳单位:Unix 时间戳通常以秒或毫秒为单位。在使用 TimeSpan 构造函数时,其参数单位为 Ticks(1 Tick = 100 纳秒)。如果传入的是秒,需要乘以 10,000,000;如果是毫秒,乘以 10,000。原文示例中的拼接方式是一种特殊处理,请勿直接照搬用于生产环境,应根据实际数据源调整换算系数。

以上就是 C# 时间日期操作的详细内容,更多关于 C# 日期处理的资料请关注本站其它相关文章!

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。