|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
把时间格式化成一个字符串中,加中文或英文会报错,但是加符号不会报错,这是为什么?
- from datetime import datetime
- t = datetime.now() #拿取 此刻的时间
- print(t) # 此刻的时间值 >>>2021-08-13 22:02:07.605720
- print(t.strftime("%Y年%m月%d日 %H小时%M分钟%S秒")) # 这样加了中文或英文会报错>>>UnicodeEncodeError: 'locale' codec can't encode character '\u5e74' in position 2: encoding error
- #但是下面的俩行代码就不会报错,我想问一下这是为什么?
- print(t.strftime("%Y-%m-%d %H:%M:%S")) # >>>2021-08-13 22:02:53
- print(t.strftime("%Y/%m/%d %H:%M:%S")) #>>>2021/08/13 22:03:29
复制代码
麻烦了!!!
cmd环境下的编码问题,IDLE的shell里没有这个问题。
解决:
- n.strftime("%Y{y}%m{m}%d{d}").format(y='年', m='月', d='日')
- 或
- n.strftime("%Y{}%m{}%d{}").format('年', '月', '日')
复制代码
|
|