在 MySQL 和 Python 中以可重复的方式处理 1970 年之前的日期

2024-03-04

在我的 MySQL 数据库中,我的日期可以追溯到 1700 年代中期,我需要以某种方式将其转换为类似于 Unix 时间的格式的整数。 int 的值并不重要,只要我可以从数据库或用户输入中获取日期并生成相同的 int 即可。我需要使用 MySQL 在数据库端生成 int,并使用 python 来转换用户的日期。

通常情况下,UNIX_TIMESTAMP 函数 http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_unix-timestamp,将在 MySQL 中完成此操作,但对于 1970 年之前的日期,它始终返回零。

The TO_DAYS MySQL 函数 http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_to-days,也可以工作,但我无法从用户输入中获取日期并使用 Python 创建与此函数在 MySQL 中创建的值相同的值。

所以基本上,我需要一个像 UNIX_TIMESTAMP 这样的函数,它可以在 MySQL 和 Python 中工作,适用于 1700-01-01 和 2100-01-01 之间的日期。

换句话说,这个 MySQL 伪代码:

select 1700_UNIX_TIME(date) from table;

必须等于以下 Python 代码:

1700_UNIX_TIME(date)

我这里没有安装MySQL,但是当我看这里时:http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_to-days http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_to-days- 我看到一个例子TO_DAYS('2008-10-07')返回 733687。

以下 Python 函数返回datetime(2008,10,7).toordinal()= 733322,比MySQL的输出少了365。

所以采取这个:

from datetime import datetime

query = '2008-10-07'
nbOfDays = datetime.strptime(query, '%Y-%m-%d').toordinal() + 365

它应该适用于 1700 到 2100 之间的日期。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 MySQL 和 Python 中以可重复的方式处理 1970 年之前的日期 的相关文章

随机推荐

  • NSString 到 NSArray

    我想分割一个NSString进入一个NSArray 例如 给定 NSString myString ABCDEF 我想要一个NSArray like NSArray myArray A B C D E F 如何使用 Objective C
  • GWT为移动设备定制CellList多选模型

    我有一个使用 MultiSelectionModel 的应用程序 它工作得很好 但我需要我正在开发的网站才能在移动设备上工作 所以我无法使用键盘来帮助选择元素 因为它不支持 不存在 例如 在桌面上 我只需按住 ctrl 并单击我想要选择的所
  • SQLAlchemy 提交 pickle 类型

    我在 sqlalchemy 中提交对 pickle 类型 列表 的更改时遇到问题 提交后它将表现得好像什么也没发生一样 这是我尝试提交的功能 def commit move game id player move game game que
  • 管理包:PyCharm vs conda vs pip

    我是 Python 新手 最近在 Windows 10 上安装了 PyCharm 2016 3 我还使用 Anaconda 3 我对包管理不太了解 想更好地了解它 通常我只是使用conda update all但我注意到 通过检查本地 Py
  • Html画布1600x1200屏幕撕裂

    我见过几个关于这个问题的问题 但它们都已经存在了三年多了 通常最后都会说还没有太多解决办法 所以我想知道是否有什么改变 我目前正在开发一款游戏 该游戏使用每秒发生 60 次的间隔在画布上进行绘制 它在我的 iPhone 和 PC 上运行得很
  • Pandas - 保持至少有两个不同代码的组

    我正在使用具有以下结构的 DataFrame import pandas as pd df pd DataFrame group 1 1 1 2 2 2 2 3 3 3 4 4 brand A B X A B C X B C X A B c
  • Symfony2 Crawler - 将 UTF-8 与 XPATH 结合使用

    我正在使用 Symfony2 Crawler Bundle 来使用 XPath 除了编码之外 一切正常 我想使用 UTF 8 编码 但 Crawler 不知何故没有使用它 我注意到因为 nbsp 被转换为 nbsp 这是一个已知问题 UTF
  • 尝试为银行应用程序调用名为 addAccount 的方法,但它一直给出 .class is Expected 错误

    当我尝试调用时 这给了我错误addAccount方法说 class 应该出现在我尝试调用它的行上 我正在尝试做一项作业 我应该创建一个名为的方法addAccount接受两个参数 accountName and accountBalance并
  • 如何在 Microsoft Word 字段中显示下个月?

    我需要在 Word 2003 文档中显示当前月份之后的月份名称 显示当前月份相当容易 DATE MMMM 在撰写本文时 显示 九月 我想要展示的是十月 而我一生都无法弄清楚需要做什么 我一直在尝试遵循以下建议添加余额 http addbal
  • 为什么静态方法不被视为良好的面向对象实践? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我正在阅读斯卡拉编程 https rads stackoverflow com amzn click com 193435631X 在第 4 章
  • 在 7.3/9/2+ Swift 中,当设备旋转时如何禁用旋转动画?

    这个问题严格来说是关于iOS9 的 假设您有一个普通的现代应用程序 自动布局 故事板 通用 它允许所有四个旋转位置 您希望它以正常方式自动旋转 因此当用户将设备从横向旋转为纵向时 它将更改为新的基于约束的布局 但您只是希望在用户旋转设备期间
  • 通过 VPN 在 Android 上创建 WebAPK 失败

    我的公司 VPN 阻止来自 Android 设备的所有外部流量 我正在尝试测试内部托管的 PWA 防火墙内的所有资源 我观察到 尽管通过了 Lighthouse 审核 但我的 PWA 在设备上的 WebAPK 创建过程中失败了 具体来说 安
  • LINQ to XML 获取 XElement 值

    我在从 LINQ to XML 查询获取一些值时遇到问题 我从 SOAP Web 服务获取了 XML 并将其传递并解析为 XDocument 进行查询 The XML
  • 在按单个列上的多个值进行内部联接查询过滤时选择“不同”?

    所以 我不得不说 SQL 是迄今为止我作为开发人员最薄弱的一面 也许我想要完成的事情很简单 我有这样的东西 这不是真正的模型 但为了使其易于理解而不浪费太多时间解释它 我想出了一个完全模仿我必须使用的表关系的示例 一方面 有一个表 我们称之
  • 放置在自定义指令中的 ui-codemirror 失败且没有错误

    我正在尝试使用 ui codemirror 角度指令代码镜像角度库 http angular ui github io ui codemirror build ui codemirror js用例是我必须将其放在自定义指令中 但是当我将它放
  • Shell 脚本无法识别heredoc分隔符

    我正在尝试在 Linux 中编写一个非常简单的 shell 脚本 我想要实现的场景是 创建用户帐户并在内部为其指定密码 不允许与用户交互 一旦成功 只需向用户显示一条成功消息 其余的都不应显示 在 RHEL 上 这非常简单 因为 passw
  • Redis IOException:使用 ServiceStack C# 客户端“现有连接被远程主机强制关闭”

    我们有以下设置 RackspaceCloud 8GB 实例上 Ubuntu Linux 12 04LTE 上的 Redis 2 6 具有以下设置 daemonize yes pidfile var run redis 6379 pid po
  • LogCat 和控制台停止与 Eclipse Android 模拟器一起使用

    控制台和 LogCat 打印输出在带有 Android 模拟器的 Eclipse 中停止工作 我在控制台中收到以下异常 2011 11 10 11 04 58 启动 logcat 时出现意外错误 尝试重新选择设备 未找到设备 com and
  • 如何在 Netbeans 中配置 Java 导入的组织

    目前 Netbeans 我使用的是 7 3 1 版本 具有通过菜单组织 Java 文件中导入的内置功能来源 组织进口 但我需要更改默认的导入顺序 例如 在共享环境中工作时 软件开发人员必须使用相同的导入设置 有什么办法可以做到吗 Try C
  • 在 MySQL 和 Python 中以可重复的方式处理 1970 年之前的日期

    在我的 MySQL 数据库中 我的日期可以追溯到 1700 年代中期 我需要以某种方式将其转换为类似于 Unix 时间的格式的整数 int 的值并不重要 只要我可以从数据库或用户输入中获取日期并生成相同的 int 即可 我需要使用 MySQ