Python 自定义日期时间(?) 格式处理

2024-01-10

假设我有一个代表时间和一周中的天数的字符串:

例如“52300”,表示一周的第 5 天(星期五),23 小时 00 分钟。

我如何将其解析为时间或日期时间对象以添加 timedelta(hours=3) 并将其恢复为这种奇怪的格式?预期输出为“60200”字符串。

我努力了:

tow_str = '52300'
tow = datetime.datetime.strptime(tow_str, "%w%H%M") + datetime.timedelta(hours=3)
print(tow.strftime("%w%H%M"))

返回“20200”而不是“60200”


解析日期%w准确地要求您包含日期本身,否则日期将设置为 1900-01-01:

>>> import datetime
>>> tow_str = '52300'
>>> datetime.datetime.strptime(tow_str, "%w%H%M")
datetime.datetime(1900, 1, 1, 23, 0)

你总是会得到1当格式化回字符串时:

>>> datetime.datetime.strptime(tow_str, "%w%H%M").strftime("%w%H%M")
'12300'

没有约会,%w毫无意义。

您可以根据今天的日期生成工作日的日期,并且仅解析时间:

def nearest_date_for_weekday(weekday):
    today = datetime.date.today()
    return today + datetime.timedelta(days=weekday - today.weekday())

parsed_date = datetime.datetime.combine(
    nearest_date_for_weekday(int(tow_str[0])), 
    datetime.datetime.strptime(tow_str[1:], '%H%M').time())

print parsed_date.strftime('%w%H%M')

这样就产生了一个完整的datetime对象,因此格式化回字符串会给出有意义的值%w.

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

Python 自定义日期时间(?) 格式处理 的相关文章

  • 从 asyncio 子进程获取实时输出

    我正在尝试使用 Python asyncio 子进程来启动交互式 SSH 会话并自动输入密码 实际用例并不重要 但它有助于说明我的问题 这是我的代码 proc await asyncio create subprocess exec ssh
  • Pandas ParserError:标记数据时出错。 C 错误:字符串内有 EOF

    我的数据超过 400 000 行 运行此代码时 f pd read csv filename error bad lines False 我收到以下错误 pandas errors ParserError Error tokenizing
  • 嵌套函数中的变量作用域

    有人可以解释为什么以下程序失败 def g f for in range 10 f def main x 10 def f print x x x 1 g f if name main main 带有消息 Traceback most re
  • 用于读取类似 CSV 行的 Python 正则表达式

    我想解析传入的类似 CSV 的数据行 值用逗号分隔 逗号周围可能有前导和尾随空格 并且可以用 或 引用 例如 这是有效的行 data1 data2 data3 data4 data5 但这是格式错误的 data1 data2 da ta3
  • 如何测试该变量不等于多个事物?

    这是我的一段代码 choice while choice 1 and choice 2 and choice 3 choice raw input pick 1 2 or 3 if choice 1 print 1 it is elif c
  • Python:由于 OSError 无法安装软件包:[Errno 2] 没有这样的文件或目录

    我尝试使用pip安装sklearn 并且我收到以下错误消息 错误 由于 OSError 无法安装软件包 Errno 2 没有这样的文件或目录 C Users 13434 AppData Local Packages PythonSoftwa
  • MacOS Big Sur 中的 NPM 错误“找不到 Python 可执行文件”

    我已经花了整整一周的时间寻找这个问题的答案 但没有成功 我查看了每个 StackOverflow 帖子 Google 的每一篇文章以及我能找到的每个相关的 Github 问题 大多数相关错误似乎都比较旧 所以我想知道我的问题是否由于我使用的
  • python win32com.client 调整窗口大小

    我正在使用 Python 3 4 1 通过 win32com client 控制 Windows 应用程序 我可以激活它 我可以发送击键 点击等 现在我想知道是否有办法调整窗口大小并将其设置到特定位置 我找不到方法 这里有一些代码片段 所以
  • Plotly:如何设置文本格式(下划线、粗体、斜体)

    使用注释时 我尝试在绘图中为文本添加下划线 我使用添加注释 import plotly graph objects as go g go FigureWidget make subplots rows 1 cols 1 g update l
  • Python:处理图像并保存到文件流

    我需要使用 python 处理图像 应用过滤器和其他转换 然后使用 HTTP 将其提供给用户 现在 我正在使用 BaseHTTPServer 和 PIL 问题是 PIL 无法直接写入文件流 因此我必须写入临时文件 然后读取该文件 以便将其发
  • 使用最新值进行采样

    考虑以下系列 created at 2014 01 27 21 50 05 040961 80000 00 2014 03 12 18 46 45 517968 79900 00 2014 09 05 20 54 17 991260 636
  • 在添加数据之前使用 Python gdata 清除工作表中的行

    我有一个 Google 电子表格 我使用 python 脚本和 gdata 库填充值 如果我多次运行脚本 它会将新行附加到工作表中 我希望脚本在填充之前首先清除行中的所有数据 这样每次运行时我都会有一组新的数据脚本 我尝试过使用 Updat
  • Pandas 根据条件替换数据框值

    我有一个主数据框 df Colour Item Price Blue Car 40 Red Car 30 Green Truck 50 Green Bike 30 然后我有一个价格修正数据框 df pc Colour Item Price
  • 找出该月第一个星期日/星期一等的日期

    我想在java中检测每个月第一周 第二周的第一个星期日 星期一的日期 我怎样才能实现它 我已经检查了 java 中的 Calendar 类和 Date 类 但无法找到解决方案 所以请帮助我解决这个问题 Calendar calendar C
  • 数据类和属性装饰器

    我一直在阅读 Python 3 7 的数据类 作为命名元组的替代品 我通常在必须将数据分组到结构中时使用它 我想知道数据类是否与属性装饰器兼容 以便为数据类的数据元素定义 getter 和 setter 函数 如果是这样 是否在某处进行了描
  • 为什么我的 Python 散点图不起作用?

    我使用 pylab 创建了一个非常简单的散点图 pylab scatter engineSize fuelMile pylab show 该程序的其余部分不值得发布 因为正是该行给我带来了问题 当我将 散点 更改为 绘图 时 它会绘制数据图
  • 阻止 BeautifulSoup 将我的 XML 标签转换为小写

    我正在使用 BeautifulStoneSoup 来解析 XML 文档并更改一些属性 我注意到它会自动将所有 XML 标签转换为小写 例如我的源文件有
  • 如何从 Anaconda 更新 Pandas 以及最后是否可以使用 eclipse

    我已经使用以下文档通过 Anaconda 安装了 Python http www kevinsheppard com images 0 09 Python introduction pdf http www kevinsheppard co
  • 混合语言源目录布局

    我们正在运行一个使用多种不同语言的大型项目 Java Python PHP SQL 和 Perl 到目前为止 人们一直在自己的私有存储库中工作 但现在我们希望将整个项目合并到一个存储库中 现在的问题是 目录结构应该是什么样的 我们应该为每种
  • Python 子进程:无法转义引号

    我知道以前曾问过类似的问题 但它们似乎都是通过重新设计参数的传递方式 即使用列表等 来解决的 但是 我这里有一个问题 因为我没有这个选项 有一个特定的命令行程序 我使用的是 Bash shell 我必须向其传递带引号的字符串 它不能不被引用

随机推荐

  • gridview 突出显示当前行

    是否有内置方法可以突出显示网格视图中当前选定的行 我的 gridview 中的每一行都有一个按钮 通过 ButtonField 当用户按下此按钮时 背景颜色会发生变化 我这样做 Protected Sub gvTransferOwner R
  • 网络音频播放器 - iOS 下一首歌曲和上一首歌曲按钮不在控制中心

    这是我多年来断断续续研究的问题 但从未找到答案 我发现 MediaSession api 可用于填充歌曲数据 但下一曲目和上一曲目操作处理程序不会使下一个 上一个按钮出现在 iOS 控制中心中 if mediaSession in navi
  • 如何使用 ASP.NET Core MVC 和 Angular 使用 Identity Server 4 连接到 Web API

    我在收到回复后写信在这里发帖 https github com IdentityServer IdentityServer4 issues 1179 issuecomment 304032678 我正在开发一个应用程序 该应用程序具有一个
  • Gradle - 从模块继承存储库

    首先 我解释一下我的项目设置 我使用 Android Studio 中使用的 项目 模块 一词 我的项目设置如下 LibraryProject gt 一个仅对我的库进行分组的项目 如有必要 我可以在其他项目中使用它 备份库 模块 数据库库
  • Flutter Android Studio version3.6 的“无法确定捆绑的 Java 版本”

    首先我得到错误是 android 许可证状态未知 所以我再次重新安装 他们抛出了两个错误 如下图所示 那么我该如何修复它呢 Flutter Channel stable v1 12 13 hotfix 8 on Microsoft Wind
  • 查询LDAP

    我以前没有使用过 LDAP 所以我有点迷失 我需要连接到 LDAP 源查找特定属性并更改它 该程序的输入是一个包含用户列表的 CSV 文件 该程序应该从 CSV 文件中读取 UID 找到 LDAP 中的记录并替换某个属性 我不知道如何做到这
  • Clang AST 解释

    我正在尝试解释 Clang AST 的部分内容 如下图所示 简而言之 我想做的是检查两个变量在不同的程序点是否相同 检查 AST 后 我注意到 AST 部分之间唯一的共同点是蓝色圆圈部分 谁能帮我看看这些十六进制数字在 AST 中对应什么
  • 迭代 git diff --name-only 结果时如何处理文件名中的空格

    我正在编写的脚本需要从 git diff 中遍历每个文件 但是 我不知道如何处理文件名中的空格 任何有空格的文件都会被分成 2 个文件 我知道他们需要被包裹起来 但我不知道在它进入之前如何实现这一点 param 当文件名中有空格时 我应该如
  • Python 3 有 LDAP 模块吗?

    我正在将一些 Java 代码移植到 Python 我们想使用 Python 3 但我在 Windows 中找不到适用于 Python 3 的 LDAP 模块 这迫使我们使用 2 6 版本 这很麻烦 因为其余代码已经是 3 0 格式 您可以使
  • Android - 如何创建意图来打开显示“帐户和同步设置”屏幕的活动

    我在导航到 帐户和同步设置 屏幕时看到了以下日志消息 但我对如何创建一个意图来导航到那里感到困惑 INFO ActivityManager 53 Starting activity Intent cmp com android provid
  • bootstrap container-fluid - 以正确的方式删除边距(溢出)

    如何从引导程序中删除所有边距container fluid类及其行 container fluid padding 0 这基本上满足了我的要求 但它为正文增加了 20px 溢出 那么我应该这样做 body html overflow x h
  • Delphi - 同步线程与框架

    下午好 我有一个框架 这个框架是我通过主窗体动态创建的 主要形式 Interface TInterface Create self with handlingInterface do begin Parent Form1 Left 0 To
  • 推荐的程序结构

    作为初学者 我已经制定了一些想法 但想向社区询问实施以下程序的最佳方法 它可以解码 8 种不同类型的数据文件 它们各不相同 但大多数相似 包含许多相似的字段 另外 有3代系统可以生成这些文件 每个都略有不同 但生成相同类型的文件 我需要制作
  • Typescript方法重载不同类型的参数但相同的响应

    我需要使用 TypeScript 重载一个方法 FooModel有 6 个参数 但 2 个字符串参数是唯一的强制参数 所以不是创建一个FooModel每次我想使用myMethod 我想超载myMethod并创建FooModel一旦进入那里
  • Rails 3 验证 IPv4 和 IPv6 格式

    我知道 IPv4 和 IPv6 的验证格式 但不确定如何将它们组合起来 所以至少一种格式应该是正确的 这是我的验证 validates src ip addr presence gt true uniqueness gt true form
  • 调用 php 中定义为对象变量的匿名函数[重复]

    这个问题在这里已经有答案了 我有如下 php 代码 class Foo public anonFunction public function construct this gt anonFunction function echo cal
  • Nodejs Scraper 不会移至下一页

    大家好 这是我其他问题的后续问题 我创建了一个 Nodejs Scraper 它似乎不想浏览页面 它停留在第一个页面 我的源代码如下 const rp require request promise const request requir
  • 如何验证 Blob 是否存在于已删除列表中

    以下代码将能够查看 blob 是否存在 var blob client GetContainerReference containerName GetBlockBlobReference blobFileName if blob Exist
  • 创建可变参数模板函数来测量和执行其他函数

    我目前正在尝试实现一个函数 该函数将任何其他函数和该函数的一组有 效输入值作为输入 并返回该函数的结果以及打印执行该函数所需的时间 这是我到目前为止所拥有的 template
  • Python 自定义日期时间(?) 格式处理

    假设我有一个代表时间和一周中的天数的字符串 例如 52300 表示一周的第 5 天 星期五 23 小时 00 分钟 我如何将其解析为时间或日期时间对象以添加 timedelta hours 3 并将其恢复为这种奇怪的格式 预期输出为 602