解决Odoo日期(时间)无效的问题 [转]

环境
Server: Ubuntu Kylin 14 + GreenOdoo-7.0-linux64, GreenOdoo-8.0-linux64
客户端: winXP+firefox 31 (类似问题发生在Win7+ff30, Win7+ie11)
        在安装了Odoo 8之后的试用过程中,遇到日期无效的问题。当初OE 7的时候没有发生过类似问题,期初以为是在版本更新过程中的bug,因此一直没有在意。
        如今8.0的已经趋于定型了,试用最新版依然存在这样的问题。于是试了几个系统设置的组合实验,发现这是由于OE的时间支持中对于“上午”、“下午”的支持不佳造成的。只要把时间字符串中的“上午”、“下午”换成“AM”,“PM”,或者改成24小时制的时间系统便不会提示日期无效。但是保存之后系统又会改回“上午”、“下午”,于是再次编辑记录时又会出现同样的提示,非常麻烦。
        因此我们的解决方案也是基于上述“上午”、“下午”的源头来做修改:

方法一  服务端修改设置
       此修改的原理是使用24小时制,在时间字段不出现“上午”、“下午”相关的字符串,从而避免日期无效的问题发生。
      在 设置 --> 翻译 --> 语言  中编辑 “Chinese (CN) / 简体中文” 中的时间格式设定,从默认的 “%I:%M:%S %p”修改为 “%H:%M:%S”,即把12小时制改为24小时制,保存设置。

然后刷新浏览器缓存(Ctrol+F5),重新打开视图,可以发现时间格式已经变成了24小时制,修改或新建记录也都不会提示日期无效。

方法二  客户端修改设置
        由于代码中“上午”、“下午”部分对于国际化的支持不完善,时间的格式化中时采用了“上午”、“下午”,但解析时需要写成“AM”,“PM”才能够被正确解析。
       通过实验,在windows系统中,可以通过修改区域和语言选项,来避免这一问题。在控制面板 “区域和语言选项”的标准和格式中选择“中文(中国)”,然后“自定义”,选中其中的“时间”选项卡,修改“上午”、“下午”为“AM”,“PM”,确定。


重新设定OE的语言时间格式为“%I:%M:%S %p”。

保存,刷新浏览器缓存,在查看相关记录,格式已经发生改变。

再新建或修改记录,都不会出现日期无效的提示。

鉴于Ubuntu等系统不能单独定义“上午”、“下午”的显示符号,为了更好的系统兼容性,建议把时间格式设置为24小时制。

原文地址:http://vivianyw.blog.163.com/blog/static/134547422201474114655394/

时间: 2024-10-22 10:40:52

解决Odoo日期(时间)无效的问题 [转]的相关文章

解决elementui日期时间选择器提交时与后台date类型不匹配问题

问题描述: 在前端使用elementui的日期时间选择器后,在通过axios进行提交的时候,前端控制台出现了400(数据类型不匹配的错误)的错误. <el-form-item label="跟进时间" prop="traceTime"> <el-date-picker v-model="customerTraceHistory.traceTime" type="datetime" placeholder=&q

java8 的日期/时间处理

Java 8 的日期/时间类型比之前版本好用,可以替代之前版本.之前版本使用Date类解决所有日期/时间问题,在Java 8 中使用LocalDate, LocalTime, LocalDateTime, Instant, Period, Duration. 具体使用参考文章:Java8 日期/时间(Date Time)API指南 原文地址:https://www.cnblogs.com/windyWu/p/10220588.html

THttpCli发送和接受数据,代替indy10 TidHttp解决超时时间无效的问题

var StartTime:Integer; //由于Indy10碰到网络异常断掉,Indy超时时间无效的问题,需要安装第三方控件 OverByteICS 解决这个问题.procedure TFormPost.Button2Click(Sender: TObject); //发送overbyte 控件ICS var Data: AnsiString; AJson: TQJson; Strtemp: string; strData: string; postcmd: AnsiString; msR

Java 8 日期时间API使用介绍

如何正确处理时间 现实生活的世界里,时间是不断向前的,如果向前追溯时间的起点,可能是宇宙出生时,又或是是宇宙出现之前, 但肯定是我们目前无法找到的,我们不知道现在距离时间原点的精确距离.所以我们要表示时间, 就需要人为定义一个原点. 原点被规定为,格林威治时间(GMT)1970年1月1日的午夜 为起点,之于为啥是GMT时间,大概是因为本初子午线在那的原因吧. Java中的时间 如果你跟你朋友说:"我们 1484301456 一起去吃饭,别迟到!",而你朋友能马上理解你说的时间,表示时间

解决odoo 时间差问题

解决odoo 时间差问题 2017-03-10 01:09:00 weixin_30244681 阅读数 109 原文链接:http://www.cnblogs.com/Michaelwolf/p/6528701.html odoo 在时间处理时,存到数据库是以格林威治时间,在显示时再加上时区的差值,特别server 布署在Windows 上,如时间或日期取值不正确,就会相差8小时左右,如何准确调整时间,这里给出我自已的解决方案: 1.我们发现 odoo 的create_date 和write_

winrar在右键菜单上加上:打包自动加上日期时间标签【图文教程】 - imsoft.cnblogs

说明:  注册表HKEY_CURRENT_USER\Software\WinRAR\Profiles\0找到GenerateArcName修改0为1,修改GenerateMask为你想要的日期式(默认yyyymmddhhnnss)HKEY_CURRENT_USER\Software\WinRAR\Profiles为WINRAR的备份配置0 1 2 3 4是四种方式,0为默认设置,修改0下面的值后就能在使用右键菜单   添加到"xxx.rar"(T) 后自动在文件名后加入指定格式的日期.

JXL读取Excel日期时间不准确

XL读取Excel日期时间多出了8个小时. Cell c = rs.getCell(j, i);                     if (c.getType() == CellType.DATE) {//手动填写模板文件时为 date 类型,其他情况有可能不是date类型                         DateCell dc = (DateCell) c;                         Date date = dc.getDate();       

Android中关于日期时间与时区的使用总结

原文引自:http://www.2cto.com/kf/201312/266908.html 在开发Android的过程中,出现过几次由于日期时间导致的问题,而且主要是由于时区的原因导致,所以一直想总结一下,形成一个良好的开发规范. 一.Unix时间戳 Unix时间戳(Unix timestamp),或称Unix时间(Unix time).POSIX时间(POSIX time),是一种时间表示方法,定义为从格林威治时间1970年01月01日00时00分00秒起至现在的总秒数.Unix时间戳不仅被

[转] Java8 日期/时间(Date Time)API指南

[From] http://www.importnew.com/14140.html Java 8日期/时间( Date/Time)API是开发人员最受追捧的变化之一,Java从一开始就没有对日期时间处理的一致性方法,因此日期/时间API也是除Java核心API以外另一项倍受欢迎的内容. 为什么我们需要新的Java日期/时间API? 在开始研究Java 8日期/时间API之前,让我们先来看一下为什么我们需要这样一个新的API.在Java中,现有的与日期和时间相关的类存在诸多问题,其中有: Jav