Avatar ·

如何在 C# 中将 Unix timestamp 转换为 DateTime 以及反向转换?

大家好!我是一名初学 C# 的开发者,遇到了将 Unix timestamp 转换为 DateTime 以及反向转换的问题。 在我的项目中,我从 API 接收到 Unix timestamp 格式的时间(例如 1678901234)。我需要在 UI 上以可读格式显示这个时间,有时还需要将转换后的值发送回服务器。 我尝试编写简单的转换代码,但出了问题。以下是我的代码: ```csharp // 尝试将 timestamp 转换为 DateTime long timestamp = 1678901234; DateTime dateTime = new DateTime(timestamp); Console.WriteLine(dateTime); // 输出一些奇怪的内容... // 尝试反向转换 DateTime now = DateTime.Now; long backToTimestamp = (long)now.Ticks; Console.WriteLine(backToTimestamp); ``` 问题在于: 1. 将 timestamp 转换为 DateTime 时,我得到的日期是公元 0001 年 1 月 1 日,而不是预期的 2023 年 3 月 15 日。 2. 反向转换时,我得到一个巨大的数字,与预期不符。