闲社服务运行正常AI智能体自动化平台
t

时间戳转换

技能标识:timestamp-converter

Convert between Unix timestamps, ISO 8601 dates, and human-readable formats. Use when working with timestamps from APIs, logs, or databases that need conversion to local time, timezone adjustments, or format standardization. Supports batch conversion, timezone handling, and date arithmetic for developers working with temporal data.

作者:admin | 来源记录:ClawHub
登记来源
ClawHub
版本
V 1.0.0
检测标记
后台标记通过
免费
免费获取
0
收藏
来源与检测标记为平台登记信息,并不代表已展示可复核的检测报告。使用前请核对版本、依赖和所需权限,建议先在隔离环境中运行。
概述
安装方式
版本历史

时间戳转换

时间戳转换器

在Unix时间戳、ISO日期和人类可读格式之间进行转换。

使用场景

  • - 将API响应中的时间戳转换为可读日期
  • 处理包含Unix时间戳的日志文件
  • 为国际用户进行时区转换
  • 计算日期之间的时间差
  • 批量处理数据中的时间戳转换
  • 根据不同地区格式化日期

快速开始

转换Unix时间戳

python
from datetime import datetime, timezone

def unixtodatetime(timestamp, tz=None):

将Unix时间戳转换为datetime对象

参数:
timestamp: Unix时间戳(秒或毫秒)
tz: 目标时区(默认:UTC)

# 自动检测秒或毫秒
if timestamp > 1e10:
timestamp = timestamp / 1000

dt = datetime.fromtimestamp(timestamp, tz=timezone.utc)

if tz:
dt = dt.astimezone(tz)

return dt

使用示例

unixtodatetime(1704067200)

结果: 2024-01-01 00:00:00+00:00

unixtodatetime(1704067200000) # 毫秒

结果: 2024-01-01 00:00:00+00:00

格式转换

python
def format_timestamp(timestamp, fmt=%Y-%m-%d %H:%M:%S):
将时间戳转换为自定义格式
dt = unixtodatetime(timestamp)
return dt.strftime(fmt)

常用格式

format_timestamp(1704067200, %Y-%m-%d) # 2024-01-01 format_timestamp(1704067200, %d/%m/%Y) # 01/01/2024 format_timestamp(1704067200, %B %d, %Y) # January 01, 2024 format_timestamp(1704067200, %I:%M %p) # 12:00 AM

ISO 8601 转换

python
from datetime import datetime

def parseiso8601(isostring):
解析ISO 8601字符串为datetime对象
# 处理各种ISO格式
isostring = isostring.replace(Z, +00:00)
return datetime.fromisoformat(iso_string)

def toiso8601(dt, includems=False):
将datetime对象转换为ISO 8601字符串
if include_ms:
return dt.isoformat()
return dt.strftime(%Y-%m-%dT%H:%M:%S%z)

使用示例

parse_iso8601(2024-01-01T00:00:00Z) to_iso8601(datetime.now())

时区转换

python
from zoneinfo import ZoneInfo

def converttimezone(timestamp, fromtz=UTC, totz=America/NewYork):
在不同时区之间转换时间戳
dt = unixtodatetime(timestamp)

# 设置源时区
if from_tz != UTC:
dt = dt.replace(tzinfo=ZoneInfo(from_tz))

# 转换为目标时区
return dt.astimezone(ZoneInfo(to_tz))

使用示例

convert_timezone(1704067200, UTC, Asia/Shanghai)

结果: 2024-01-01 08:00:00+08:00

日期运算

python
from datetime import timedelta

def add_time(timestamp, days=0, hours=0, minutes=0):
为时间戳添加时间
dt = unixtodatetime(timestamp)
delta = timedelta(days=days, hours=hours, minutes=minutes)
return dt + delta

def time_diff(timestamp1, timestamp2):
计算两个时间戳之间的差值
dt1 = unixtodatetime(timestamp1)
dt2 = unixtodatetime(timestamp2)
diff = dt2 - dt1

return {
days: diff.days,
seconds: diff.seconds,
totalseconds: diff.totalseconds(),
hours: diff.total_seconds() / 3600
}

使用示例

add_time(1704067200, days=7) # 增加1周 time_diff(1704067200, 1704672000) # 计算时间戳差值

批量转换

python
def batchconvert(timestamps, targetformat=%Y-%m-%d %H:%M:%S):
一次性转换多个时间戳
results = []
for ts in timestamps:
try:
formatted = formattimestamp(ts, targetformat)
results.append({timestamp: ts, formatted: formatted})
except Exception as e:
results.append({timestamp: ts, error: str(e)})
return results

使用示例

timestamps = [1704067200, 1704672000, 1705276800] batch_convert(timestamps)

常用格式参考

格式示例使用场景
Unix(秒)1704067200API、数据库
Unix(毫秒)
1704067200000 | JavaScript | | ISO 8601 | 2024-01-01T00:00:00Z | API、日志 | | RFC 2822 | Mon, 01 Jan 2024 00:00:00 GMT | 邮件头 | | SQL | 2024-01-01 00:00:00 | SQL数据库 |

依赖项

bash
pip install pytz

或使用Python 3.9+内置的zoneinfo:
python
from zoneinfo import ZoneInfo

标签

skill ai

通过对话安装

以下为平台配置的接入选项,并非逐项实测通过。能否安装取决于客户端支持、技能来源和运行环境:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 timestamp-converter-1776275362 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 timestamp-converter-1776275362 技能

通过命令行安装

skillhub install timestamp-converter-1776275362

下载

⬇ 下载 timestamp-converter v1.0.0(免费)

文件大小: 2.31 KB | 发布时间: 2026-4-16 16:31

v1.0.0 最新 2026-4-16 16:31
Initial release - Daily auto-generated skill
返回顶部