qq_。。 2022-10-12 13:42 采纳率: 97.9%
浏览 25
已结题

strftime方法报错

问题遇到的现象和发生背景

别人的也是这样的代码,到我这就报错了

用代码块功能插入代码,请勿粘贴截图
# 这个文件名是mode.py
import datetime


def moment(dt, now):
    diff = now-dt
    if diff.days < 0:
        return '未来时间'
    if diff.days > 365:
        return dt.strftime('%Y年%m月')
    if diff.days > 30:
        return dt.strftime('%Y年%m月%d日')
    if diff.days > 1:
        return '{}天前'.format(diff.days)
    if diff.seconds//60//60 > 0:
        return '{}小时前'.format(diff.seconds//60//60)
    if diff.seconds//60 > 0:
        return '{}分钟前'.format(diff.seconds//60)
    if diff.seconds >= 0:
        return '{}秒前'.format(diff.seconds)

# 这个是测试的文件名为test.py
# 实现根据待显示的时间和当前时间的时间差展示不同的样式。如果时间差大于一年(此处以天为例),则显示哪年哪月,
#  如果时间差小于或者等于一年且大于一个月(此处以天为例),则显示哪年哪月哪日;如果时间差小于或者等于一个月
#  且大于一天,则显示几天前。 以此类推,显示几个小时前、几分钟前和几秒前。
from datetime import datetime
from mode import moment
if __name__ == '__main__':
    now = datetime(2022, 10, 11, 12, 59, 10)
    for dt in [
        datetime(2021, 9, 12, 12, 59, 10),
        datetime(2020, 8, 12, 12, 59, 10),
        datetime(2023, 7, 12, 12, 59, 10)
    ]:
        print('{}-->{}:{}'.format(dt, now, moment(dt, now)))


运行结果及报错内容
> E:\python\Lib\pythonProject1\Scripts\python.exe D:/PythonDemo/pythonProject1/test1.py 
Traceback (most recent call last):
  File "D:/PythonDemo/pythonProject1/test1.py", line 18, in <module>
    print('{}-->{}:{}'.format(dt, now, moment(dt, now)))
  File "D:\PythonDemo\pythonProject1\mode.py", line 14, in moment
    return dt.strftime('%Y年%m月')
UnicodeEncodeError: 'locale' codec can't encode character '\u5e74' in position 2: encoding error

Process finished with exit code 1

我的解答思路和尝试过的方法

我把%Y改为%y或者删了年这个字他也报错

我想要达到的结果

正常输出

  • 写回答

1条回答 默认 最新

  • honestman_ 2022-10-12 13:47
    关注

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 10月20日
  • 已采纳回答 10月12日
  • 创建了问题 10月12日

悬赏问题

  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度