【问题标题】:OpenTBS - Problem with frm and dates 01-01-1970 to 19-01-2038OpenTBS - frm 和日期 01-01-1970 到 19-01-2038 的问题
【发布时间】:2020-07-29 10:21:03
【问题描述】:

我正在使用 OpenTBS 3.10.1。 在我的 docx 文件中,如下所示:

[expiryDate;frm='dd/mm/yyyy'] - [expiryDate]

不幸的是,在我的 Windows 本地主机上显示为:

01/01/1970 - 2039-09-10

openTBS 中的 frm 问题在新版本 3.11 中修复了吗?如果不是,建议的解决方法是什么。

谢谢。

2020 年 12 月 8 日编辑

我正在合并的记录之一的 PHP 值 (print_r) 是例如[到期日] => 2039-09-10。 在我原来的帖子中没有“frm”的情况下,日期可以。

在我的 documentGenerate.php 中它是通过以下方式实现的:

// due to a bug in TBS (not using one block of alias twice) aliases with consecutive numbers are added
foreach ($policies as $policeKey => $police) {$TBS->MergeBlock($policeKey . ',' . $policeKey . '2,' . $policeKey. '3,' . $policeKey . '4', $police);}

然后在我的 .docx 中是这样的:

[TerLifIns2.expiryDate;frm='dd/mm/yyyy']

【问题讨论】:

  • 我上传更改到服务器。就像预期的那样,在我的在线服务器(基于 Linux)上一切正常。让它在我的 Windows 机器上的本地主机上运行仍然会很棒。感谢此问题的解决方法。指望你 Skrol29 :)
  • 你想要融合的内在价值是什么? expiryDate 的 PHP 值是多少?
  • 嗨@Skrol29 你有时间调查一下吗?感谢您的帮助。

标签: opentbs


【解决方案1】:

对于超过 « 2038-01-19 03:14:07 » 的日期,32 位版本的 PHP 可能会发生此错误。

这个错误是由于技术limitation of timestamp in 32-bit version of PHP.

这个bug应该在TBS 3.12.1版本上修复,应该在2020-10-25之前发布。

请注意,您可以在 64 位计算机上安装 32 位 PHP。

关于这个 PHP 问题的更多细节:https://ourcodeworld.com/articles/read/600/what-is-the-php-year-2038-y2k38-bug-and-how-to-solve-it

【讨论】:

  • 你是明星!谢谢解决这个问题。
  • 在 TBS 3.12.1 中修复
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-17
  • 2011-09-09
相关资源
最近更新 更多