【问题标题】:Strange date format from output plan program输出计划程序中的奇怪日期格式
【发布时间】:2017-11-17 13:24:55
【问题描述】:

在我的数据库中有一个名为 begindate 的列,它是来自不同程序的输出。我需要转换它以便在我的网站上打印它,但我不知道它是哪种日期格式,以及如何转换它。

这里是一个例子:'736874''736872'

这不是 Epoch,因为当我转换它时它说它是 Friday, January 9, 1970 但它至少应该是 '2017'

所以我有两个假设。

  • 这是一种我不知道的数据格式

  • 这是由其他程序生成的字符串

(我不知道其他程序的名称,但它是用于计划的。)

【问题讨论】:

  • 如果无法联系到设计这个奇怪日期系统的人,那么你需要希望这里有人曾经遇到过这个问题。发生这种情况的几率接近 0,因为我们已经使用并使用了标准日期符号多年,而这不是其中之一。
  • @apokryfos 我刚刚联系了使用它的人。他们说它是从特定日期开始的秒或分钟,可能是 1900 年 1 月 1 日。现在我必须计算它以计算出日期和一些系统以在我的网站上打印它
  • 哇,他们实际上不太清楚它是什么
  • @apokryfos 是的,祝我好运..
  • 祝你好运。如果您弄清楚了,请发布答案。它可能会帮助处于相同情况的其他人。

标签: php time converter


【解决方案1】:

这种日期格式称为序列日期。它主要用于Excel。

它是如何工作的,它从 1900 年 1 月 0 日开始。序列日期表示从那一刻起的天数。所以 1 月 19 日的连续日期是 36544。

这里是完整解释的链接http://www.cpearson.com/excel/datetime.htm

要使用 php 将其更改为 dd/mm/yyyy,您可以使用以下代码: (https://forums.phpfreaks.com/topic/157341-convert-serial-date-into-ddmmyyyy/)

<?
    function convertSerialDate($date)   {
        $timestamp = ($date - 25569) * 86400;
        return date("d/m/Y",$timestamp);
    }

    print convertSerialDate(733535);
?>

因为这个日期是 6 个数字,所以有点不同。日期表示从january 1th 0001 开始的天数。 所以你需要使用这个号码719543

$timestamp = ($date - 719543) * 86400;

【讨论】:

    猜你喜欢
    • 2020-02-05
    • 2019-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-03
    • 2013-02-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多