Symfonyob娱乐下载 3.1新增功能:DateTime Normalizer
2016年4月15日·发表的哈维尔Eguiluz
警告:这篇文章是关于一个不受支持的Symfony版本。ob娱乐下载有些信息可能已经过时了。阅读最新的Symfony文档ob娱乐下载.
的序列化器组件是Symfony 3.1中改进最多的组件之一。ob娱乐下载这篇文章介绍了新的DateTimeNormalizer
的规范化DateTime
将对象转换为字符串,并将它们反规格化为对象。
规范化/反规范化日期的基本用例如下所示:
12 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
使用ob娱乐下载\组件\序列化器\标准化者\DateTimeNormalizer;使用ob娱乐下载\组件\序列化器\序列化器;$序列化器=新序列化器(数组(新DateTimeNormalizer ()));$dateAsString=$序列化器->正常化(新\ DateTime (“2016/01/01”));// $dateAsString = '2016-01-01T00:00:00+00:00';$dateAsObject=$序列化器->denormalize (2016 - 01 - 01 - t00:00:00 + 00:00 ', \ DateTime::类));// $dateAsObject = class DateTime#1 (3) {// public $date =>/ /字符串(26)“2016-01-01 00:00:00.000000”// public $timezone_type =>/ /整数(1)// public $timezone =>/ /字符串(6)“+ 00:00”/ /}
如果未指定格式,则日期将根据RFC3339(使用\ DateTime:: RFC3339
常数)。类的参数传递新格式作为所有规范化日期的参数DateTimeNormalizer
构造函数:
1 2 3 4 5
/ /……$序列化器=新序列化器(数组(新DateTimeNormalizer (“Y”)));$dateAsString=$序列化器->正常化(新\ DateTime (“2016/01/01”));// $dateAsString = '2016';
控件提供的上下文信息中传递自定义格式,也可以对每个日期进行不同的格式设置normalize ()
方法:
1 2 3 4 5 6 7 8 9
/ /……$序列化器=新序列化器(数组(新DateTimeNormalizer ()));$dateAsString=$序列化器->正常化(新\ DateTime (“2016/01/01”),零,数组(DateTimeNormalizer::FORMAT_KEY = >“Y / m”));// $dateAsString = '2016/01';
本文中显示的示例使用DateTime
对象来存储日期,但新的规范化器适用于实现DateTimeInterface
,例如DateTimeImmutable
类:
12 3 4 5 6 7 8 9 10 11 12
/ /……$序列化器=新序列化器(数组(新DateTimeNormalizer ()));$dateAsObject=$序列化器->denormalize (2016 - 01 - 01 - t00:00:00 + 00:00 ', \ DateTimeInterface::类));// $dateAsObject =类DateTimeImmutable#1 (3) {// public $date =>/ /字符串(26)“2016-01-01 00:00:00.000000”// public $timezone_type =>/ /整数(1)// public $timezone =>/ /字符串(6)“+ 00:00”/ /}
发表在#生活在边缘
评论
评论截止。
为了确保评论保持相关性,旧帖子将被关闭。