为了账号安全,请及时绑定邮箱和手机立即绑定

如何从字符串日期计算年龄?

如何从字符串日期计算年龄?

PHP
哈士奇WWW 2023-04-15 20:17:27
我bootstrap-material-datetimepicker在我的 Symfony 表单上使用,因此用户可以选择他的生日。datetimepicker例如返回一个字符串"Saturday 16 May 2020"。我想age从那个字符串生日计算用户的(整数)!如何计算年龄?有没有办法让日期时间返回日期或 int 而不是字符串?我的表格代码:{% extends 'base.html.twig' %}{% block body %}        {{ form_start(form, {attr: {novalidate: 'novalidate'}}) }}               <div class="form-line">                    {{ form_widget(form.birthday,  {'attr': {'class': 'datepicker form-control', 'placeholder': 'Date of Birth'} }) }}                     </div>         {{ form_rest(form) }}         {{ form_end(form) }}        {% endblock %}实体代码:/** * @ORM\Column(type="string", nullable=true) */private $birthday;public function getBirthday(): ?string{    return $this->birthday;}public function setBirthday(?string $birthday): self{    $this->birthday = $birthday;    return $this;}
查看完整描述

1 回答

?
GCT1015

TA贡献1827条经验 获得超4个赞

你有2个选择:

  • 将生日更改为日期时间类型的字段,并在表单中使用 BirthdayType。->format('Y-m-d')然后,当您想在控制器中将其显示为字符串或使用 twig 的过滤器时,您必须格式化该字段,|date('Y-m-d')因为这$user->getBirthday()将返回一个 DateTime 对象。

  • 当您想要计算年龄(即:)时,从该字段中的字符串创建一个新的 DateTime 对象new \DateTime($user->getBirthday()

diff()当您拥有 DateTime 对象时,您所需要做的就是为“今天”创建一个新对象,并使用 DateTime 对象的方法或 PHP 的函数计算与那里的差异date_diff()


查看完整回答
反对 回复 2023-04-15
  • 1 回答
  • 0 关注
  • 75 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信