如何获取 Python3 中日期的日期的简短描述?
How to get a short description of the day of the date in Python3?
在使用Python 2.7时,我写了如下内容以获得当天的简短描述。我目前使用的是 3.6。你会推荐什么而不是 mx.DateTime 来做到这一点?
import mx.DateTime
def func(dateVal, format):
day = ''
shortDesc = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
if format == '%d.%m.%Y':
try:
dateVal = mx.DateTime.DateTime(int(dateVal[6:10]), int(dateVal[3:5]), int(dateVal[0:2]))
day = shortDesc[dateVal.day_of_week]
except:
pass
return day
为什么不在 Python 2.7 和 3.6 中使用 built-in datetime
?
一些注意事项:
- 使用
strptime
解析,而不是手动分解字符串并转换为整数
- day_of_week几乎可以肯定以'Sun'开头为0
- 您可以使用
strftime
日期格式字符 %a
作为缩写的工作日名称,尽管那将是本地名称(不一定是英文)
- 避免使用
except: pass
;这将隐藏许多您可能确实想要处理或修复或至少知道的错误。相反,抓住具体问题并适当地处理它们(无论是 return ''
还是其他逻辑)
import datetime
def func(date, format):
the_date = datetime.datetime.strptime(date, format)
day = the_date.strftime('%a')
return day
或者,在一行中:
import datetime
def func(date, format):
return datetime.datetime.strptime(date, format).strftime('%a')
在使用Python 2.7时,我写了如下内容以获得当天的简短描述。我目前使用的是 3.6。你会推荐什么而不是 mx.DateTime 来做到这一点?
import mx.DateTime
def func(dateVal, format):
day = ''
shortDesc = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
if format == '%d.%m.%Y':
try:
dateVal = mx.DateTime.DateTime(int(dateVal[6:10]), int(dateVal[3:5]), int(dateVal[0:2]))
day = shortDesc[dateVal.day_of_week]
except:
pass
return day
为什么不在 Python 2.7 和 3.6 中使用 built-in datetime
?
一些注意事项:
- 使用
strptime
解析,而不是手动分解字符串并转换为整数 - day_of_week几乎可以肯定以'Sun'开头为0
- 您可以使用
strftime
日期格式字符%a
作为缩写的工作日名称,尽管那将是本地名称(不一定是英文) - 避免使用
except: pass
;这将隐藏许多您可能确实想要处理或修复或至少知道的错误。相反,抓住具体问题并适当地处理它们(无论是return ''
还是其他逻辑)
import datetime
def func(date, format):
the_date = datetime.datetime.strptime(date, format)
day = the_date.strftime('%a')
return day
或者,在一行中:
import datetime
def func(date, format):
return datetime.datetime.strptime(date, format).strftime('%a')