C#:时间与时间戳的转换

1、将 DateTime 转换为 Unix 时间戳(秒)

cs 复制代码
public static long DateTimeToUnixTimestamp(DateTime dateTime)
{
    // 定义UTC纪元时间
    DateTime epochStart = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
    
    // 计算从UTC纪元时间到指定时间的总秒数
    TimeSpan timeSpan = dateTime.Subtract(epochStart);
    
    // 返回总秒数
    return (long)timeSpan.TotalSeconds;
}

2、将 Unix 时间戳 转换为 DateTime 并格式化为"年月日时分秒"

cs 复制代码
public static string UnixTimestampToDateTime(long timestamp, string format = "yyyy/MM/dd HH:mm:ss")
{
    // 定义UTC纪元时间
    DateTime epochStart = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
    
    // 使用时间戳添加到UTC纪元时间上,得到对应的DateTime对象
    DateTime dateTime = epochStart.AddSeconds(timestamp);
    
    // 转换为本地时间(如果需要的话)
    dateTime = dateTime.ToLocalTime();
    
    // 按照指定格式返回字符串
    return dateTime.ToString(format);
}

3、实例

cs 复制代码
// 创建一个DateTime对象
DateTime now = DateTime.Now;

// 将当前时间转换为Unix时间戳
long timestamp = DateTimeToUnixTimestamp(now);
Console.WriteLine($"Current Unix Timestamp: {timestamp}");

// 将Unix时间戳转换回DateTime并格式化输出
string formattedDate = UnixTimestampToDateTime(timestamp);
Console.WriteLine($"Formatted Date: {formattedDate}");
相关推荐
MATLAB代码顾问5 分钟前
Python数据分析项目实战:销售数据仪表盘
开发语言·python·数据分析
码云骑士6 分钟前
07-Python装饰器从入门到源码(下)-带参数装饰器与wraps
开发语言·python
LAM LAB8 分钟前
【Web】网页如何模拟移动端获取定位\定位模拟测试
开发语言·前端·javascript
小糯米60110 分钟前
C语言文件操作
c语言·开发语言·数据结构
caimouse11 分钟前
Reactos 第 9 章 设备驱动 — 9.4 内核劳务线程
开发语言·windows
Doker 多克15 分钟前
Spring AI Alibaba—快速构建ReactAgent
java·开发语言·前端·ai编程
张忠琳21 分钟前
【Go 1.26.4】Golang Slice 深度解析
开发语言·后端·golang
码云骑士39 分钟前
09-Python模块导入机制-sys.path与循环导入的死锁式排查
开发语言·python
星恒随风40 分钟前
C++ 模板初阶:从泛型编程、函数模板到类模板,一篇打通基础概念
开发语言·c++·笔记·学习
郝学胜-神的一滴44 分钟前
Qt 高级开发 031:QListWidget图标布局实战
开发语言·c++·qt·程序人生·软件构建·用户界面