php - 给定 PHP 中的天数,如何计算年、月和日?

标签 php date format days

我将日期存储在 Mysql 数据库中,并且尝试将这些日期格式化为年、月、日格式。我存储天数的变量称为 $days

这是我所拥有的:

$years = ($days / 365);
$years = floor($years);

$month = ($days % 365) / 30.5;
$month = floor($month);

$days = ($days % 365) % 30.5;

$display = "$years" . " years, " . "$month" . " months, and " . "$days" . " days";

但是,每当我将天数设置为 90 之类的值时,它只会显示为 2 个月,并且不会显示天数的任何内容,仅显示 2 个月。我在网上某个地方找到了这个,直到最近它都运行良好。

任何人都可以给我一些关于更好的方法来执行此操作的指示,或者我的代码中存在任何错误吗?

最佳答案

像下面这样做:-

<?php
  $days = '365';
  $start_date = new DateTime(date("Y/m/d"));
  $end_date = new DateTime(date("Y/m/d",strtotime("+$days days")));
  $dd = date_diff($start_date,$end_date);
  echo "$dd->y year(s) $dd->m month(s) $dd->d day(s)";
?>

输出:- https://eval.in/918854https://eval.in/918858

关于php - 给定 PHP 中的天数,如何计算年、月和日?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47806548/

相关文章:

php - 苏格兰国旗在我的页面上不起作用,但其他 Emoji 5 可以

php - setInterval 函数期间 $_SESSION 变量检查后 div 元素未隐藏

sql - 在 SQL Server 中将月份名称转换为月份编号

python - 解析 CS :GO script file in Python

java - 格式化 String.format 数据

PHPUnit 断言方法不等于

php - Laravel 无法通过 __construct 实例化接口(interface)(使用 App::bind)

javascript - 如何从 moment.unix() 将 moment 解析为特定时区

Mysql日期警告数据被截断

c - 使用c打印格式