我在Python脚本中使用parsedatetime库,看来“上个月”有效,“下个月”有效,但“本月”无效。

我想念什么?有没有办法获得当月的第一天?

编辑:
抱歉,这是一些代码:

import parsedatetime.parsedatetime as pdt
p = pdt.Calendar()
res = p.parse('this month')
print(str(res))


返回值:

(time.struct_time(tm_year=2015, tm_mon=7, tm_mday=13, tm_hour=16, tm_min=22, tm_sec=10, tm_wday=0, tm_yday=194, tm_isdst=0), 0)

最佳答案

我从来没有使用过parsedatetime,尽管这是获得本月初的一种有趣的方式。不过,我通常会这样做:

>>> datetime.datetime.now().replace(day=1, hour=0, minute=0, second=0)


同样,它也减少了资源浪费,因为您不必在运行时解析任何文本,但这确实是一个问题。

您可以通过timetuple()将其转换为time.struct_time:

>>> datetime.datetime.now().replace(day=1, hour=0, minute=0, second=0).timetuple()


time.struct_time(tm_year = 2015,tm_mon = 7,tm_mday = 1,tm_hour = 0,tm_min = 0,tm_sec = 0,tm_wday = 2,tm_yday = 182,tm_isdst = -1)

关于python - Python parsedatetime:获取当前月份/每月的第一天,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31388332/

10-16 20:32