【问题标题】:I want to calculate the due date for a pregnant woman after she inputs her date of pregnacy in php我想在 php 中输入怀孕日期后计算孕妇的预产期
【发布时间】:2020-07-23 01:45:23
【问题描述】:

我有 pregdate 作为怀孕的日期,而 duedate 作为怀孕的截止日期。但是当我运行代码时,我得到的是“到期日期:1970-01-01”,而不是在怀孕日期上增加了所需的 9 个月。 我为其中一位患者使用的试验日期是 2020-01-01,所以我应该得到 2020-10-01

$duedate = strtotime("+9 months", strtotime($pregdate));
$duedate = strftime ( '%Y-%m-%d' , $pregdate );
echo $duedate;

【问题讨论】:

  • 使用DateTimeImmutable 表示日期,几乎所有其他内容都只是......糟糕......
  • 应该是$duedate = strftime ( '%Y-%m-%d' , $duedate );变量赋值错误
  • 不应该增加 40 周吗?

标签: php html datetime-format calculation


【解决方案1】:

你们很亲密。
问题是你有两个strtotime,并且在cmets中提到了错误的变量。

$pregdate = '2020-01-01';
$duedate = strtotime($pregdate . " +9 months");
$duedate = strftime ( '%Y-%m-%d' , $duedate );
echo $duedate;

Strtotime 只能获取字符串作为输入,所以当你有两个嵌套时,一个得到一个字符串,第二个得到一个整数(strtotime 的输出是整数),它无法处理,所以它失败并返回 false这也是 0。
零日期是 1970-01-01。
这就是您获得该输出的原因。

【讨论】:

    猜你喜欢
    • 2013-05-15
    • 2019-05-27
    • 2020-07-12
    • 2019-04-02
    • 1970-01-01
    • 2012-11-29
    • 2017-10-30
    • 1970-01-01
    相关资源
    最近更新 更多