标签: python-datetime

将DataFrame列类型从字符串转换为datetime

如何将字符串的DataFrame列(以dd/mm/yyyy格式)转换为日期时间?

python datetime-format dataframe python-datetime pandas

250
推荐指数
5
解决办法
34万
查看次数

用Python在YYYY-MM-DD中获取今天的约会对象?

我正在使用:

str(datetime.datetime.today()).split()[0]
Run Code Online (Sandbox Code Playgroud)

YYYY-MM-DD的形式返回今天的日期.

是否有一种不那么粗暴的方法来实现这一目标

python datetime python-2.7 python-datetime

238
推荐指数
9
解决办法
33万
查看次数

仅使用python标准库将python UTC日期时间转换为本地日期时间?

我有一个使用datetime.utcnow()创建并保存在数据库中的python datetime实例.

为了显示,我想使用默认的本地时区将从数据库检索的日期时间实例转换为本地日期时间(即,就像使用datetime.now()创建日期时间一样).

如何仅使用python标准库将UTC日期时间转换为本地日期时间(例如,没有pytz依赖项)?

似乎一个解决方案是使用datetime.astimezone(tz),但是如何获得默认的本地时区?

python timezone datetime python-datetime

150
推荐指数
6
解决办法
18万
查看次数

将字符串转换为datetime.time对象

鉴于string在这种格式"HH:MM"中,例如"03:55",一个表示3小时55分钟.

我想将它转换为datetime.time对象以便于操作.最简单的方法是什么?

python time python-datetime

69
推荐指数
2
解决办法
5万
查看次数

Python datetime strptime()和strftime():如何保存时区信息

请参阅以下代码:

import datetime
import pytz

fmt = '%Y-%m-%d %H:%M:%S %Z'

d = datetime.datetime.now(pytz.timezone("America/New_York"))
d_string = d.strftime(fmt)
d2 = datetime.datetime.strptime(d_string, fmt)
print d_string 
print d2.strftime(fmt)
Run Code Online (Sandbox Code Playgroud)

输出是

2013-02-07 17:42:31 EST
2013-02-07 17:42:31 
Run Code Online (Sandbox Code Playgroud)

时区信息在翻译中丢失了.

如果我将'%Z'切换为'%z',我明白了

ValueError: 'z' is a bad directive in format '%Y-%m-%d %H:%M:%S %z'
Run Code Online (Sandbox Code Playgroud)

我知道我可以使用python-dateutil,但我发现它很棒,我无法在datetime实现这个简单的功能,并且必须引入更多的依赖?

python datetime python-datetime python-dateutil

49
推荐指数
2
解决办法
16万
查看次数

为什么pandas.to_datetime对于非标准时间格式(例如'2014/12/31')来说很慢

我有这样格式的.csv文件

timestmp, p
2014/12/31 00:31:01:9200, 0.7
2014/12/31 00:31:12:1700, 1.9
...
Run Code Online (Sandbox Code Playgroud)

当读取pd.read_csv并使用时间str转换为datetime时pd.to_datetime,性能会急剧下降.这是一个最小的例子.

import re
import pandas as pd

d = '2014-12-12 01:02:03.0030'
c = re.sub('-', '/', d)

%timeit pd.to_datetime(d)
%timeit pd.to_datetime(c)
%timeit pd.to_datetime(c, format="%Y/%m/%d %H:%M:%S.%f")
Run Code Online (Sandbox Code Playgroud)

而且表现是:

10000 loops, best of 3: 62.4 µs per loop
10000 loops, best of 3: 181 µs per loop
10000 loops, best of 3: 82.9 µs per loop
Run Code Online (Sandbox Code Playgroud)

那么,我怎样才能提高pd.to_datetime从csv文件中读取日期的性能?

python csv python-datetime string-to-datetime pandas

40
推荐指数
2
解决办法
1万
查看次数

如何将日期时间列舍入到最接近的四分之一小时

我已将数据文件加载到Python pandas数据帧中.我有一个格式的日期时间列2015-07-18 13:53:33.280.

我需要做的是创建一个新的列,将其四舍五入到最接近的四分之一小时.因此,上述日期将四舍五入为2015-07-18 13:45:00.000.

我怎么在熊猫里这样做?我尝试使用此处的解决方案,但收到'Series' object has no attribute 'year'错误.

python datetime python-datetime pandas

33
推荐指数
4
解决办法
3万
查看次数

如何使用Python的datetime模块确定当前时间是否在指定范围内?

什么是最好的方式来看看当前时间是否介于说10:30 AM和... 之间4:30 PM.

我能想到以下几点,不确定如何正确:

from datetime import datetime
nw = datetime.now()
hrs = nw.hour;mins = nw.minute;secs = nw.second;
zero = timedelta(seconds = secs+mins*60+hrs*3600)
st = nw - zero # this take me to 0 hours. 
time1 = st + timedelta(seconds=10*3600+30*60) # this gives 10:30 AM
time2 = st + timedelta(seconds=16*3600+30*60)  # this gives 4:30 PM
if nw>= time1 or nw <= time2:
    print "yes, within the interval"
Run Code Online (Sandbox Code Playgroud)

请告诉我,如果这是正确的方法,可以写出更好的东西吗?

python python-datetime

28
推荐指数
4
解决办法
6万
查看次数

有没有简单的方法将ISO 8601持续时间转换为timedelta?

给定ISO 8601持续时间字符串,如何将其转换为datetime.timedelta

这不起作用:

timedelta("PT1H5M26S", "T%H%M%S")
Run Code Online (Sandbox Code Playgroud)

python datetime timedelta python-datetime

18
推荐指数
2
解决办法
5407
查看次数

如何在 Python 中获得下个月的第一天?

如何在 Python 中获取下个月的第一个日期?例如,如果现在是 2019-12-31,则下个月的第一天是 2020-01-01。如果现在是 2019-08-01,那么下个月的第一天就是 2019-09-01。

我想出了这个:

import datetime

def first_day_of_next_month(dt):
    '''Get the first day of the next month. Preserves the timezone.

    Args:
        dt (datetime.datetime): The current datetime

    Returns:
        datetime.datetime: The first day of the next month at 00:00:00.
    '''
    if dt.month == 12:
        return datetime.datetime(year=dt.year+1,
                                 month=1,
                                 day=1,
                                 tzinfo=dt.tzinfo)
    else:
        return datetime.datetime(year=dt.year,
                                 month=dt.month+1,
                                 day=1,
                                 tzinfo=dt.tzinfo)


# Example usage (assuming that today is 2021-01-28):
first_day_of_next_month(datetime.datetime.now())
# Returns: datetime.datetime(2021, 2, 1, 0, 0)
Run Code Online (Sandbox Code Playgroud)

这是正确的吗?有没有更好的办法?

python python-datetime

15
推荐指数
3
解决办法
1万
查看次数