时间戳转日期
函数名:time_时间戳转日期 / tm_TimestampToDate
功能描述
将 Unix 时间戳转换为格式化的日期时间字符串。支持 10 位秒级和 13 位毫秒级时间戳,自动识别并转换为本地时间。
会员等级:🟢 免费版(Free)
语法
excel
=time_时间戳转日期(时间戳, 格式)参数
| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| 时间戳 | Double | 是 | 无 | Unix 时间戳(10 位秒级或 13 位毫秒级) |
| 格式 | String | 否 | yyyy-MM-dd HH:mm:ss | 日期时间格式字符串,遵循 .NET 标准日期格式 |
返回值
String - 格式化后的日期时间字符串。时间戳无效时返回 "无效的时间戳"。
使用示例
秒级时间戳转换
公式:
excel
=time_时间戳转日期(1672531199)结果:
2023-01-01 00:59:59毫秒级时间戳转换及自定义格式
公式:
excel
=time_时间戳转日期(1672531199123, "yyyy/MM/dd HH:mm")结果:
2023/01/01 00:59仅返回日期部分
公式:
excel
=time_时间戳转日期(1672531199, "yyyy-MM-dd")结果:
2023-01-01技术说明
- 时间戳位数判断:大于等于
1e12(即 1000000000000)视为 13 位毫秒级时间戳,否则视为 10 位秒级时间戳。 - 毫秒级使用
DateTimeOffset.FromUnixTimeMilliseconds转换,秒级使用DateTimeOffset.FromUnixTimeSeconds转换。 - 转换后调用
.ToLocalTime()转为本地时区时间。 - 格式字符串遵循 .NET 标准日期时间格式,如
yyyy-MM-dd、HH:mm:ss、yyyy年MM月dd日等。
错误处理
| 错误场景 | 返回值 |
|---|---|
| 时间戳无效或超出范围 | 无效的时间戳 |
| 正常秒级时间戳 | 格式化日期时间字符串 |
| 正常毫秒级时间戳 | 格式化日期时间字符串 |