You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将datetime.datetime.now()转换为数字以创建唯一文件夹?

解决方法:将datetime转成指定格式的唯一文件夹名

这事儿其实挺简单的,直接提取datetime对象的各个时间属性,按你要的格式拼接成字符串就行,甚至不用复杂的字符串处理。给你两种靠谱的实现方式:

方法一:直接访问datetime属性拼接(推荐)

这种方式最直观,直接拿年份、月份、日期等属性来拼接,还能精准控制每个部分的格式:

import datetime

# 获取当前时间
current_time = datetime.datetime.now()

# 按需求拼接成目标格式字符串
folder_name = (
    f"{current_time.year}"       # 4位年份
    f"{current_time.month}"      # 月份(不带前导零,比如4月就是"4",10月就是"10")
    f"{current_time.day}"        # 日期(不带前导零,比如9号就是"9",20号就是"20")
    f"{current_time.hour:02d}"   # 两位小时(比如9点就是"09",19点就是"19")
    f"{current_time.minute:02d}" # 两位分钟
    f"{current_time.second:02d}" # 两位秒数
    f"{current_time.microsecond:06d}" # 6位微秒(确保补零到6位)
)

# 输出结果示例:201949195545938208
print(folder_name)

方法二:用strftime格式化后处理

如果你习惯用strftime方法,也可以先格式化再处理月份和日期的前导零:

import datetime

current_time = datetime.datetime.now()

# 分别获取各部分,处理月份和日期的前导零
year = current_time.strftime("%Y")
month = current_time.strftime("%m").lstrip("0") or "0"  # 处理1月的情况,避免空字符串
day = current_time.strftime("%d").lstrip("0") or "0"
time_part = current_time.strftime("%H%M%S%f")

folder_name = year + month + day + time_part

为什么这样做可行?

因为我们用到了微秒级的时间戳,同一秒内最多有100万种不同的微秒值,几乎不可能出现重复的文件夹名,完全满足你创建唯一文件夹的需求。

内容的提问来源于stack exchange,提问作者question.it

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.12 04:58:11