【问题标题】:Pandas datetime difference in Ubuntu and WindowsUbuntu和Windows中的熊猫日期时间差异
【发布时间】:2021-11-17 18:48:23
【问题描述】:

我有一个程序将日期时间以分钟 - 小时为单位。 它在 Windows 中运行良好,但在服务器或 WSL 上尝试,它不起作用

    filter_by = pd.Timestamp("today").floor("H") - pd.offsets.Minute(
        int(time)
    )

在 WSL 中运行相同的代码, 我明白了

2021-11-17T17:45:00.000000000 

在 Windows 中运行时,我得到了正确的时间

2021-11-17T23:30:00.000000000

我也将 Ubuntu 时间设置更改为 Asia/Kolkata,Windows 在 Asia/Kolkata 上仍然无法正常工作。

有什么建议吗?

【问题讨论】:

  • 我怀疑 Windows 和 WSL 上的时区设置不同(不确定您更改的设置是否真的会影响 Python/pandas 的使用)。试试pd.Timestamp('today', tz='UTC'),你应该会得到一致的结果。
  • 嘿@MrFuppes 谢谢,但即使这样也没有用

标签: python pandas windows datetime windows-subsystem-for-linux


【解决方案1】:

在尝试了我能找到的所有解决方案后,

将时间偏移更改为 python 对我有用

    tz_IN = pytz.timezone("Asia/Kolkata")
    datetime_IN = datetime.datetime.now(tz_IN) - datetime.timedelta(
        minutes=int(time)
    )

【讨论】:

  • 什么是变量time?
  • @MrFuppes 这个是用户输入的数字 你可以在这里直播试试link 15-30-45时间分叉是时间变量
  • 如果这只是一个偏移量,我认为这与问题无关,不是吗?此外,pd.Timestamp("today").floor("H") 和 datetime.datetime.now(tz_IN) 的不同之处在于第一个限制为小时,而第二个则不是。
  • @MrFuppes 感谢我切换到 python 并工作的建议,因为我不想花更多时间,如果有人遇到类似问题可以切换,如果需要快速解决方案,但我仍然想知道为什么pd.Timestamp("today").floor("H") 在 Windows 操作系统中工作而不是在 ubuntu 中工作,但是,+1 回复:)
猜你喜欢
  • 1970-01-01
  • 2019-01-03
  • 2016-07-05
  • 1970-01-01
  • 2017-09-07
  • 1970-01-01
  • 1970-01-01
  • 2016-11-13
  • 2020-10-19
相关资源
最近更新 更多