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

Python中如何提取日期时间秒数及获取不带秒的文件修改时间?

在Python中处理日期时间:提取秒数与格式化文件修改时间

我来帮你搞定这两个问题~

一、如何从日期时间中提取秒数

根据你手上的日期时间类型,有两种常见处理方式:

  • 如果是datetime.datetime对象,直接访问它的second属性就能拿到秒数:
from datetime import datetime
current_time = datetime.now()
print(current_time.second)  # 输出当前时间的秒数
  • 如果是时间戳(比如os.path.getmtime()返回的就是Unix时间戳),先把它转成datetime对象再提取秒数:
import os
from datetime import datetime

# 获取文件修改时间戳
timestamp = os.path.getmtime("/home/sulata/Documents/source/")
# 转成datetime对象
dt_object = datetime.fromtimestamp(timestamp)
# 提取秒数
print(dt_object.second)

二、获取不带秒数的文件修改时间

你现在用time.ctime()得到的是固定格式的字符串,没法直接去掉秒数。推荐用格式化字符串的方式来生成你想要的结果,下面给两种简单的实现方法:

方法1:使用time模块

import os
import time

def get_mtime_without_seconds(file_path):
    # 获取修改时间戳
    mtime_timestamp = os.path.getmtime(file_path)
    # 把时间戳转成本地时间,再格式化为不带秒数的字符串
    return time.strftime("%a %b %d %H:%M %Y", time.localtime(mtime_timestamp))

# 调用函数输出结果
print(get_mtime_without_seconds("/home/sulata/Documents/source/"))
print(get_mtime_without_seconds("/home/sulata/Documents/destination/"))

方法2:使用datetime模块(更直观)

import os
from datetime import datetime

def get_mtime_without_seconds(file_path):
    mtime_timestamp = os.path.getmtime(file_path)
    # 时间戳转datetime对象
    dt_object = datetime.fromtimestamp(mtime_timestamp)
    # 格式化输出不带秒数的时间
    return dt_object.strftime("%a %b %d %H:%M %Y")

# 调用输出
print(get_mtime_without_seconds("/home/sulata/Documents/source/"))
print(get_mtime_without_seconds("/home/sulata/Documents/destination/"))

这里的格式化字符串%a %b %d %H:%M %Y对应:

  • %a:星期缩写(比如Mon)
  • %b:月份缩写(比如Apr)
  • %d:日期(比如2)
  • %H:%M:小时:分钟(比如15:56)
  • %Y:四位数年份(比如2018)

这样输出的结果就和你原来的格式一致,但去掉了秒数部分啦~

内容的提问来源于stack exchange,提问作者Bilal Ali Akbar

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 08:33:57