从字符串日期中提取一年中的某一天和儒略日

2023-12-04

我有一根绳子"2012.11.07"在Python中。我需要将其转换为日期对象,然后获取整数值一年中的某一天并且朱利安日。是否可以?


首先,您可以将其转换为datetime.datetime像这样的对象:

>>> import datetime
>>> fmt = '%Y.%m.%d'
>>> s = '2012.11.07'
>>> dt = datetime.datetime.strptime(s, fmt)
>>> dt
datetime.datetime(2012, 11, 7, 0, 0)

然后你可以使用上面的方法datetime得到你想要的……除了那个datetime直接没有你想要的功能,所以你需要转换为时间元组

>>> tt = dt.timetuple()
>>> tt.tm_yday
312

“儒略日”一词有几种不同的含义。如果您正在寻找2012312,您必须间接执行此操作,例如以下操作之一。

>>> int('%d%03d' % (tt.tm_year, tt.tm_yday))
2012312
>>> tt.tm_year * 1000 + tt.tm_yday
2012312

如果您正在寻找不同的含义,您应该能够从这里弄清楚。例如,如果您想要“自公元前 4713 年 1 月 1 日以来的天数”含义,并且您有一个需要公历年和一年中的日期的公式,则您需要插入上面的这两个值。(如果您有一个公式需要公历年、月、日,你甚至不需要timetuple步骤。)如果您不知道从哪里开始,请询问更多详细信息。

如果您没有公式(即使您已经有了),您最好的选择可能是在 PyPI 和 ActiveState 中查找预先存在的模块。例如,快速搜索发现了名为jdcal。我以前从未见过,但很快pip install jdcal简单浏览一下自述文件,我就能够做到这一点:

>>> sum(jdcal.gcal2jd(dt.year, dt.month, dt.day))
2456238.5

这与美国海军的结果相同儒略日期转换器给我。

如果您想要整数儒略日,而不是小数儒略日,则必须决定要舍入的方向 - 朝 0、朝负无穷大、将中午四舍五入到第二天、将中午四舍五入到偶数天等。(请注意,儒略日期定义为自公元前 4713 年 1 月 1 日中午开始,因此 2012 年 11 月 7 日的一半是 2456238,另一半是 2456239,只有你知道你想要哪一个……)例如,向 0 舍入:

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

从字符串日期中提取一年中的某一天和儒略日 的相关文章

随机推荐

  • .net XmlSerializer,忽略基类属性

    假设我们有一个从基类 System Windows Controls 派生的类 SerializedLabel XmlRoot SerializableLabel public class SerializableLabel Label p
  • 如何使用 getch() ncurses 获取 Ctrl、Shift 或 Alt?

    How to get Ctrl Shift or Alt with getch ncurses I cannot get it work to get Ctrl Shift or Alt with getch using ncurses D
  • Backbone.js 在 POST 请求上获取数据

    我是backbone js 的新手 我正在尝试使用我的服务发布数据 它会返回我的数据 我的服务是 http 192 168 1 3 8080 app search candidate它将输入作为 skills c java 它会将用户列表返
  • 黑客 DropDownList 值

    我有一个 DropDownList 我试图防止它被用作攻击媒介 我是否可以假设用户无法实际更改 DDL 的值并回发到服务器 目前 如果我尝试在提交后更改数据包 则会抛出以下 ASP NET 错误消息 For security purpose
  • 在c#中将点移动到另一个点

    我想将二维搜索空间中的某个点 a 移动到具有一定步长 config StepSize 0 03 的另一个点 b Point a agent Location Point b agentToMoveToward Location import
  • 如何从 HTML 中删除“不可见空间”[重复]

    这个问题在这里已经有答案了 可能的重复 内联块列表项之间的空格 我有一个JSFiddle 演示我的 html 代码 这是这里的代码 span style display inline Hello Wo span span style dis
  • 将 var 或 #' 应用于 Clojure 中的函数列表

    我正在尝试读取 Clojure 中函数集合的元数据 但 var 或 reader 特殊形式不起作用 除非它们直接处理符号 this works var my fn this doesn t defn val it x var x val i
  • Windows XP 嵌入式版本上出现 System.IO.IOException 的原因是什么?

    我正在 Windows XP 嵌入版本上运行 Net 3 5 应用程序 该应用程序通过串行 COM 端口写入和读取一些数据 该应用程序在我的笔记本电脑 Windows XP Professional 上运行良好 但在嵌入式 Windows
  • 您可以将带有参数的函数存储在列表中并稍后在 Python 中调用它们吗?

    例如 当我有 def function text print text mylist function yes function no mylist 0 它只是打印 yes 和 no 并且不执行任何操作mylist 0 我希望它能够使用列表
  • 比较 MySQL 中的二进制值

    假设你有两个二进制值 001011 001111 MySQL中如何获取不同位数 我试过 SELECT BIT COUNT BINARY 001011 BINARY 001111 这将返回 6 而我需要一个在此示例中返回 1 的解决方案 SE
  • 如何在react-native中激活GPS图标?

    我希望当我打开包含地图的应用程序或屏幕时在状态栏上显示 GPS 图标 因此我添加了一个功能 在第一次时要求用户允许位置权限 并且它工作得很好 我可以获得纬度 经度 但是GPS 位置 图标未激活 如何强制应用程序激活此图标 这是我的请求许可功
  • 克服跨域问题

    是否有任何方法可以克服在违反同源策略的情况下尝试从另一个 Web 服务器检索客户端数据时出现的跨域问题 http en wikipedia org wiki JSONP http api jquery com jQuery getJSON
  • 通过c#编辑内存地址

    我想编辑一个活动的应用程序 编辑内存地址 在地址上00498D45我想编辑它的值 当前值 MOV BYTE PTR SS EBP 423 7 to 更新值 MOV BYTE PTR SS EBP 423 8 到目前为止我得到的是这个 在网上
  • 在本地主机上运行 vue-cli 欢迎页面的 Docker 容器:无法访问此站点

    Question 我想在 Chrome 中看到 vue cli 欢迎页面 它从我的 Mac 上的 Docker 容器运行 我正在努力设置正确的配置以使其发挥作用 我缺少什么 这是我尝试过的 Steps 已安装 适用于 Mac 的 Docke
  • 如何设置轮胎弹性搜索的默认分析器?

    我最近一直在用 ruby on Rails 尝试 Elasticsearch 我在对数据进行索引时遇到问题 因此我可以使用复数和非复数关键字搜索项目 Tire 将允许我为每个映射属性分配一个分析器 mapping do indexes ti
  • 在 Android 中通过自定义键盘在 EditText 上设置撰写文本

    解释我正在尝试做什么 我正在制作一个自定义的应用程序内键盘 其工作原理与这个例子 但是 在我的键盘中 我使用弹出窗口来显示额外的字母形式 在传统蒙古语字母有不同的形式 具体取决于它们是否位于单词的开头 中间或结尾 通常这些可以根据上下文确定
  • 实现分隔符具有多个字符的“strtok”

    代码片段 char str String1 String2 String3 String4 String5 char deli char token strtok str deli while token NULL printf Token
  • 具有 zend 框架、操作堆栈的模块化网站

    如何使用 Zend 框架构建模块化网站 我在数据库中有页面 每个页面都表示为 url 每个页面都有 1toN 内容 每个内容都有控制器 操作和位置 其他现在不重要的列 因此 一个请求就是一页和多个内容 多个操作 如何在输出之前构建所有操作
  • jakarta.xml.ws.spi.Provider:com.sun.xml.ws.spi.ProviderImpl 不是子类型

    我正在尝试使用 Microprofile 在微服务中使用 JDK 11 使用另一个通过 WSDL 生成代码的旧项目 由 JAX WS RI 生成的代码 之前是使用 JDK 6 0 编译的 但我迁移到使用 JDK11 这是使用 WSDL 和
  • 从字符串日期中提取一年中的某一天和儒略日

    我有一根绳子 2012 11 07 在Python中 我需要将其转换为日期对象 然后获取整数值一年中的某一天并且朱利安日 是否可以 首先 您可以将其转换为datetime datetime像这样的对象 gt gt gt import dat