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

如何使用Python获取本地电脑设置中的日期格式

获取本地系统日期格式的Python实现方法

跨平台方案:使用locale标准库

Python内置的locale库可以直接读取系统区域设置中的日期格式,无需额外安装依赖,适配Windows、macOS、Linux等主流系统。

示例代码

import locale

# 切换为系统默认的区域设置(避免使用默认的C locale)
locale.setlocale(locale.LC_TIME, '')

# 获取短日期格式字符串(遵循strftime规则)
short_date_format = locale.nl_langinfo(locale.D_FMT)
print("系统短日期格式:", short_date_format)

# 获取长日期格式字符串
long_date_format = locale.nl_langinfo(locale.L_FMT)
print("系统长日期格式:", long_date_format)

说明

输出的格式字符串符合strftime语法,比如%m/%d/%Y对应「月/日/年」,%d.%m.%Y对应「日.月.年」,可直接用于datetime.strftime()方法。


Windows平台专属方案:调用系统API

如果需要精准获取Windows「区域设置」中自定义的短/长日期格式(比如用户手动设置的yyyy-MM-dd),可以用ctypes直接调用Windows系统API,无需额外安装第三方库。

示例代码

import ctypes
from ctypes import wintypes

# 加载Windows系统库
user32 = ctypes.WinDLL('user32', use_last_error=True)
kernel32 = ctypes.WinDLL('kernel32', use_last_error=True)

# 日期格式对应的系统标识
LOCALE_SSHORTDATE = 0x0000001F  # 短日期格式
LOCALE_SLONGDATE = 0x00000020   # 长日期格式
LOCALE_USER_DEFAULT = 0x0400    # 当前用户的区域设置ID

def get_windows_date_format(locale_id, format_type):
    # 先获取所需缓冲区大小
    buf_size = user32.GetLocaleInfoW(locale_id, format_type, None, 0)
    if buf_size == 0:
        raise ctypes.WinError(ctypes.get_last_error())
    
    # 分配缓冲区并读取格式字符串
    buf = ctypes.create_unicode_buffer(buf_size)
    result = user32.GetLocaleInfoW(locale_id, format_type, buf, buf_size)
    if result == 0:
        raise ctypes.WinError(ctypes.get_last_error())
    
    return buf.value

# 获取短、长日期格式
short_date = get_windows_date_format(LOCALE_USER_DEFAULT, LOCALE_SSHORTDATE)
long_date = get_windows_date_format(LOCALE_USER_DEFAULT, LOCALE_SLONGDATE)

print("Windows短日期格式:", short_date)
print("Windows长日期格式:", long_date)

macOS/Linux平台补充

除了locale库,也可以通过读取系统配置文件(比如Linux的/etc/locale.conf、macOS的用户区域配置)获取,但locale库已经能自动读取系统区域设置,是更简便的选择。

注意事项

  • 如果程序运行在非交互式环境(如服务器后台),可能需要显式指定locale,否则会默认使用C locale,导致获取通用格式而非系统自定义格式。
  • 不同系统的格式字符串语法略有差异,但核心遵循strftime规则。

内容的提问来源于stack exchange,提问作者Pushing_forward

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 13:11:37