gpt4 book ai didi

datetime - 如何解析和转换日期和时间?

转载 作者:行者123 更新时间:2023-12-02 20:22:22 26 4
gpt4 key购买 nike

我遇见了Odoo不到一个月前,作为一名 90 年代的 DOS 系统分析师,我正在帮助一家小型但快速发展的本地制造商实现它。过去 15 年我基本上退出了这个行业,我不是专业人士,但快速学习 Python、HTML(一些过去的经验)和 Java...

我已经经历过Developer Docs ,以及开发人员食谱和要点,以及各种在线教程(几乎是 Google 可以从多个搜索词组合中得出的所有内容)。

我阅读了询问此问题的已关闭帖子,发现显然没有实际的 Odoo 引用...

有人可以告诉我在哪里可以找到“日期/时间”解析和转换函数,我可以从使用“ jar 装”“hr.employee”模型的报告中访问这些函数吗?

<?xml version="1.0"?>
<t t-name="hr_attendance.report_attendancelog">
<t t-call="report.html_container">
<t t-call="report.external_layout">
<div class="page">
<div class="oe_structure"/>
<div class="row">
<div class="col-xs-6">
<h2><br/>Attendance Log: </h2>
</div>
</div>
<table class="table table-condensed mt32">
<thead>
<th><strong>Date / Time</strong></th>
<th><strong> Operation</strong></th>
</thead>
<tbody>
<t t-foreach="docs" t-as="o">
<t t-set="DspDate" t-value="o.name"/>
<t t-set="DspTime" t-value="o.name"/>

<!-- I want to parse 'o.name', which is 'date time' format (from
Attendance record) to separate 'Date' and 'Time' fields... -->
<!-- t t-set="DspDate" t-value="FUNC?(o.name)"/ -->
<!-- t t-set="DspTime" t-value="FUNC?(o.name)"/ -->
<!-- and do calcs with date & time...) -->
<!-- t t-set="ClcDt1" t-value="FUNC?('PrvDt')"/ -->
<!-- t t-set="ClcDt2" t-value="FUNC?(DspDate)"/ -->
<!-- t t-set="ClcTm1" t-value="FUNC?('PrvTm')"/ -->
<!-- t t-set="ClcTm2" t-value="FUNC?(DspTime)"/ -->

<tr>
<t t-if="ClcDt1 == ClcDt2">
<td><span t-esc="DspDate"/></td>
<td><span t-esc="DspTime"/></td>
<td><span t-esc="o.action"/></td>
</t
</tr>
</t>
<tr class="border-black">
<td colspan="3"><strong>Total period</strong></td>
<td><strong t-esc="o.worked_hours"/></td -->
</tr>
</tbody>
</table>
</div>
</t>
</t>
</t>

我在 H2 前添加了“br/”前缀,以保持其正确定位(仅显示在第一页上),但后续页面掩盖了布局标题后面的列标题...这可能是显而易见的,我没有注意到,但如何将“H2”位置调整为“report.external_layout”设置的“标题”下方?

最佳答案

在 QWeb 渲染上,您可以使用 python 库时间、日期时间和相对增量。它们包含在所谓的 QWeb 上下文中,用于评估报告中的代码(python eval)。您可以在 Odoo 代码 here 中看到这一点.

这意味着你要做这样的事情:

<t t-set="DspDate" t-value="datetime.datetime.strptime(o.name, '%Y-%m-%d %H:%M:%S').strftime('%d/%m/%Y')" />

我更喜欢报告的解析器类来定义一些常见的函数。例如:您可以定义函数 getDate 来执行解析或转换操作。使用解析器函数,报告代码会更好:

<t t-set="DspDate" t-value="getDate(o.name)" />

关于datetime - 如何解析和转换日期和时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39458772/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com