UnicodeEncodeError 通常是因为在某些环境中,系统的 locale 设置不支持 Unicode 字符(如中文字符)

now.strftime("%Y年%m月%d日")
                     ^^^^^^^^^^^^^^^^^^^^^^^^^
UnicodeEncodeError: 'locale' codec can't encode character '\u5e74'

方法1 设置 Python 的 locale

import locale
from datetime import datetime

# 设置 locale 为中文(简体)
locale.setlocale(locale.LC_TIME, 'zh_CN.UTF-8')

# 获取当前日期和时间
now = datetime.now()

# 格式化为 "YYYY年MM月DD"
formatted_date = now.strftime("%Y年%m月%d日")
print(formatted_date)

方法2 直接使用 print 函数

import sys
from datetime import datetime

# 获取当前日期和时间
now = datetime.now()

# 格式化为 "YYYY年MM月DD"
formatted_date = now.strftime("%Y年%m月%d日")

# 确保使用 UTF-8 编码输出
print(formatted_date.encode(sys.stdout.encoding, errors='replace').decode(sys.stdout.encoding))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值