首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Odoo12 : strptime无法识别格式%p (PM/AM)?

Odoo12是一款开源的企业资源规划(ERP)软件,它提供了一套完整的管理解决方案,包括销售、采购、库存、财务、人力资源等模块。在Odoo12中,strptime函数是Python中的一个日期时间处理函数,用于将字符串转换为日期时间对象。然而,strptime函数在识别格式%p(PM/AM)时可能会出现问题。

%p是用于表示时间的AM/PM标识符。在Python的strptime函数中,它无法直接识别%p格式,因此会导致无法正确解析包含%p的时间字符串。

解决这个问题的方法是使用%I(12小时制)或%H(24小时制)来代替%p。具体来说,如果时间字符串中包含%p,可以使用%I来表示12小时制的小时数,或使用%H来表示24小时制的小时数。

例如,如果要解析时间字符串"2022-01-01 08:30:00 PM",可以使用以下代码:

代码语言:txt
复制
from datetime import datetime

time_str = "2022-01-01 08:30:00 PM"
time_format = "%Y-%m-%d %I:%M:%S %p"

time_obj = datetime.strptime(time_str, time_format)

在上述代码中,我们使用"%I"来表示12小时制的小时数,"%M"表示分钟数,"%S"表示秒数,"%p"表示AM/PM标识符。

关于Odoo12的更多信息和相关产品,您可以访问腾讯云的官方网站,了解他们提供的云计算解决方案和产品。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

#PY小贴士# 在时间与字符间转换

datetime.strptime(date_string, format) 这里的 p 表示 parse(也有认为是 pointer 的意思),意为 str -> time,也就是“从字符转到时间”的意思...参数 format 是设定转换的格式,返回值是字符串。 代码示例: >>> dt.strftime("%A, %d. %B %Y %I:%M%p") 'Tuesday, 21....November 2006 04:30PM' 注意:这两个都是 datetime 模块里的方法,但区别是,strptime 是类方法,由 datetime 类来调用;strftime 是实例方法,由一个具体的...它们用到的格式化字符标记都是一致的,我们在这里也给大家列出来供参考。 附:格式化的具体代码说明 指令 意义 示例 %a 当地工作日的缩写。...01, 02, ..., 12 %p 本地化的 AMPMAM, PM (en_US);am, pm (de_DE) %M 补零后,以十进制数显示的分钟。

77450

python时间日期格式化和反格式

strftime()和strptime()行为 date,datetime和time对象都支持一种 strftime(format)方法,以创建一个表示显式格式字符串控制下的时间的字符串。...出于同样的原因,处理包含无法在当前语言环境的字符集中表示的Unicode代码点的格式字符串也与平台相关。...01,02,...,12 %p Locale相当于AMPMAMPM(en_US); 上午,下午(de_DE) (1),(2) %M 分钟为零填充十进制数。...与strptime()方法一起使用时,%p如果%I指令用于解析小时,则该指令仅影响输出小时字段。 与time模块不同,该datetime模块不支持闰秒。...%f是C标准中格式字符集的扩展(但在datetime对象中单独实现,因此始终可用)。当与该strptime()方法一起使用时,该%f 指令接受一到六位数字和右边的零焊盘。

2.2K20

Python-时间及日期-03-字符串转时间

Part 2:部分代码解读 datetime.datetime.strptime(str_time_1, '%Y-%m-%d %H:%M:%S') 其中str_time_1为拟转换为时间格式的字符串...其中%Y-%m-%d %H:%M:%S为概字符串符合的时间格式 最终输出的时间格式为:%Y-%m-%d %H:%M:%S datetime.datetime.strptime(str_time_2, '...%M:%S datetime.datetime.strptime(str_time_3, '%Y-%m-%d %I:%M:%S %p') 其中str_time_3为拟转换为时间格式的字符串 其中%Y-%...m-%d %I:%M:%S %p为该字符串符合的时间格式 最终输出的时间格式为:%Y-%m-%d %H:%M:%S 综上,无论原输入字符串符合什么样的时间格式,最终输出的时间格式展现形式是一样的 常用格式化符号含义...表示AM或者PM %M,2位数表示的分,00-59 %S,2位数表示的秒,00-59 strptime,其中p可以理解为parsed,官方说明如下 ?

2.9K40

使用 time库进行时间戳和日期的转换

time.strftime(format[, t]):接受一个 struct_time类型的变量,返回 format指定格式的时间。没有传入 struct_time参数,则默认以当前时间作为参数。...time.strptime(string[,format]):接受一个时间字符串,根据给定的 format将其转换为 struct_time类型并返回。...Fri Oct 12 22:01:11 2018 %d 日期数字,0到 31 %H 24小时制小时 %I 12小时制小时 %j 日期在一年中是第多少天,例如 299 %m 月份数字 %M 分钟数字 %p...显示 AMPM %S 秒数数字 %U 一年中第几周(以周日为一周第一天计算,0到 53) %w 一周中第几天,0到 6 %W 一年中第几周(以周一为一周第一天计算,0到 53) %x 当地日期,格式为...10/12/18 %X 当地 时间,格式为 22:10:01 %y 年份后两位,如 2018年就是 18 %Y 年份全写,如 2018年就是 2018

2.2K20

python:time时间模块

time.localtime()相反,它把一个时间元组转换成时间戳(这个必须要给一个参数) time.asctime():把一个时间元组表示为:“Sun Jul 28 03:35:26 2013”这种格式...:37:38 2013 format: 属性格式含义取值范围(格式)年份%y去掉世纪的年份00-99%Y完整的年份 %j一年中的第几天001-366月份%m月份1月12日%b本地简化月份的名称简写英文月份...w一个星期的第几天0-6时区%Z中国:应该是GMT+8(中国标准时间)求大神扫盲其他%x本地相应日期日/月/年%X本地相印时间时:分:秒%c详细日期时间日/月/年 时:分:秒%%‘%’字符‘%’字符%p本地...am或者pm的相应符AM    or    PM time.strptime(stringtime,format):将时间字符串根据指定的格式化符转换成数组形式的时间, 例如:time.strptime.../%b/%Y:%X')#打印指定格式的时间格式 #把时间字符串和它的格式翻译成时间元组 print time.strptime('28/Jul/2013:04:33:29', '%d/%b/%Y:%X'

52710

六、python学习笔记-模块-time模块

time.time()) # 以科学计数法表示cpu运算时间 print(time.clock()) # 结构化时间,打印格林威治时间(UTC),返回time.struct_time类型的对象(元组格式...print(time.localtime()) # 字符串时间,自定义格式。单独打印年月日 """ %Y Year with century as a decimal number....%p Locale's equivalent of either AM or PM. """ print(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime...())) # 字符串时间转换结构化时间 # 通过 time.strptime截取部分信息 t = time.strptime('2018-04-20 15:30:25', '%Y-%m-%d %H:%...格式已经定义不可以改变。 # 增加时间戳参数(秒),打印时间戳对应的字符串时间。 print(time.ctime()) print(time.ctime(2)) # 将结构化时间转换成时间戳。

31341

Python时间处理完全手册

/p.m.(12/24小时制) 时区是地球上的区域使用同一个时间定义。以前,人们通过观察太阳的位置(时角)决定时间,这就使得不同经度的地方的时间有所不同(地方时)。1863年,首次使用时区的概念。...转换时间格式 例如我们拿到了一个时间字符串 161201 16:14:22 需要将其转换成其他格式。...('2016-12-1', '%Y-%m-%d') # datetime.date 无 strptime 方法 dt_b = datetime.datetime.strptime('1990-1-1',...%y 年份表示,不带世纪,两位数 00,01...99 %Y 年份表示 1970,1971...2016 %H 小时 0-23 00,01...23 %I 小时 01-12 01,02...12 %p...当地格式的上午下午表示 AM,PM(en_US);am,pm(de_DE) %M 分钟,两位数 00,01...59 %S 秒,两位数 00,01...59 %f 微妙,六位数 000000,000001

2.1K71

Python Python中的时间包1 datetime

date_str = now.strftime(format) 时间字符串转时间类型 获取时间模块 from datetime import datetime 时间字符串转时间类型 datetime.strptime...(tt, format) 参数介绍 tt: 符合时间格式的字符串 format: tt时间字符串匹配规则 python的常用时间格式化符号1 字符 介绍 %Y 完整的年份,如2021 %m 月份,1~...24小时,00~23) %I 一天中的第几个小时(12小时,00~12) %M 当前的第几分(00~59) %S 当前的第几秒(0~61)闰年多占2秒 %f 当前秒的第多少毫秒 python的常用时间格式化符号...A 完整的星期,如星期三 Wednesday %b 简化的月份,如二月 Fab %B 完整的月份,如二月 Fabruary %c 本地的日期和时间,如Web Fab 5 10:14:49 2020 %p...显示上午还是下午,如AM代表上午,PM代表下午 %j 一年中的第几天 %U 一年中的星期数 代码 # coding:utf-8 from datetime import datetime from

94430

Python日期字符串比较 转

需要用python的脚本来快速检测一个文件内的二个时间日期字符串的大小,其实实现很简单,首先一些基础的日期格式化知识如下 复制代码 你可以试下下面的方式来取得当前时间的时间戳: import time...print time.time() 输出的结果是: 1357723206.31 但是这样是一连串的数字不是我们想要的结果,我们可以利用time模块的格式化时间的方法来处理: time.localtime...(time.time()) 用time.localtime()方法,作用是格式化时间戳为本地的时间。...[0, 23]) %I: 小时(12小时制,[0, 11]) %j: 日在年中的天数 [001,366](是当年的第几天) %m: 月份([01,12]) %M: 分钟([00,59]) %p:...AM或者PM %S: 秒(范围为[00,61],为什么不是[00, 59],参考python手册~_~) %U: 周在当年的周数当年的第几周),星期天作为周的第一天 %w: 今天在这周的天数,范围为

3.7K10

c++:怎么将ctime时间转化为一个具体的秒数值_Python格式化时间和日期

%p:返回AM / PM时间。%y:以两位数格式返回年份,即不包含世纪。例如,用“ 18”代替“ 2018”。%f:返回从000000到999999的微秒。%Z:返回时区。%z:返回UTC偏移量。...这是该方法的语法:   datetime.strptime(string, format)  该string参数是我们要转换为日期格式的字符串格式的值。...'  在将其转换为实际datetime对象之前,Python将无法将上述字符串理解为日期时间。...这告诉strptime方法我们的日期采用什么格式,在我们的情况下以“ /”作为分隔符。  但是,如果日/月/年用“-”分隔怎么办?...-%y') print(date_object)  输出:   2018-09-15 00:00:00  再次,由于使用了格式说明符,该strptime方法能够解析我们的日期并将其转换为日期对象。

3.4K00
领券