我bootstrap-material-datetimepicker在我的 Symfony 表單上使用,因此用戶可以選擇他的生日。datetimepicker例如返回一個(gè)字符串"Saturday 16 May 2020"。我想age從那個(gè)字符串生日計(jì)算用戶的(整數(shù))!如何計(jì)算年齡?有沒(méi)有辦法讓日期時(shí)間返回日期或 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 %}實(shí)體代碼:/** * @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貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超4個(gè)贊
你有2個(gè)選擇:
將生日更改為日期時(shí)間類(lèi)型的字段,并在表單中使用 BirthdayType。
->format('Y-m-d')
然后,當(dāng)您想在控制器中將其顯示為字符串或使用 twig 的過(guò)濾器時(shí),您必須格式化該字段,|date('Y-m-d')
因?yàn)檫@$user->getBirthday()
將返回一個(gè) DateTime 對(duì)象。當(dāng)您想要計(jì)算年齡(即:)時(shí),從該字段中的字符串創(chuàng)建一個(gè)新的 DateTime 對(duì)象
new \DateTime($user->getBirthday()
。
diff()
當(dāng)您擁有 DateTime 對(duì)象時(shí),您所需要做的就是為“今天”創(chuàng)建一個(gè)新對(duì)象,并使用 DateTime 對(duì)象的方法或 PHP 的函數(shù)計(jì)算與那里的差異date_diff()
。
- 1 回答
- 0 關(guān)注
- 127 瀏覽
添加回答
舉報(bào)
0/150
提交
取消