【发布时间】:2021-12-11 19:42:49
【问题描述】:
假设我得到了一个部分日期时间字符串。我希望获得它所代表的日期时间,以及给定日期时间的分辨率。
例如:
-
"2021-01-06 12"->2021-01-06 12:00:00.000000和"hour" -
"2020-03"->2020-03-01 00:00:00.000000和"month" -
"2020-03-01"->2020-03-01 00:00:00.000000和"day"
这个想法是使用给定的部分日期时间字符串作为时间范围规范。这意味着不要写"All of March, 2020",而是写"2020-03"。
使用pandas 框架可以将问题简化为答案,尽管在上面的示例中给出了部分字符串,pd.Timestamp(...) 可以很好地解析它(例如pd.Timestamp("2020-03") == pd.Timestamp('2020-03-01 00:00:00.000000'))。
提前致谢!
EDIT:内部函数pandas._libs.tslibs.parsing.parse_datetime_string_with_reso 似乎返回了我想要的。有谁知道我如何访问它(使用from pandas._libs.tslibs.parsing import parse_datetime_string_with_reso 无法访问)?
【问题讨论】:
-
您需要使用
pandas._libs.tslibs.parsing.parse_time_string,它在内部调用parse_datetime_string_with_reso -
@AsishM。妈的我傻没有看到它也返回分辨率。谢谢!我会确保它有效。将其发布为答案。 ——
-
@AsishM。它确实做到了我想要的。
标签: python pandas datetime datetime-format python-datetime