新在Symfo欧宝娱乐app下载地址ny 3.1: DateTime标准化者
2016年4月15日·发表的哈维尔Eguiluz
警告:这篇文章是关于一个不受支持的Symfony的版本。欧宝娱乐app下载地址其中一些信息可能是过时了。阅读最近的Symfony文档欧宝娱乐app下载地址。
的序列化器组件是一种最改进的组件在Symfony 3.1。欧宝娱乐app下载地址本文介绍了新的DateTimeNormalizer
的规范化DateTime
对象和字符串denormalizes对象。
基本用例应该规范化、正规化日期如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
使用欧宝娱乐app下载地址\组件\序列化器\标准化者\DateTimeNormalizer;使用欧宝娱乐app下载地址\组件\序列化器\序列化器;美元序列化器=新序列化器(数组(新DateTimeNormalizer ()));美元dateAsString=美元序列化器- >正常化(新\ DateTime (“2016/01/01”));/ / $ dateAsString = 2016 - 01 - 01 - t00:00:00 + 00:00 ';美元dateAsObject=美元序列化器- >denormalize (2016 - 01 - 01 - t00:00:00 + 00:00 ',\ DateTime::类));/ / $ dateAsObject =类DateTime # 1 (3) {/ /公共美元日期= >/ /字符串(26)“2016-01-01 00:00:00.000000”/ /公共美元timezone_type = >/ /整数(1)/ /公共美元时区= >/ /字符串(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
类:
1 2 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) {/ /公共美元日期= >/ /字符串(26)“2016-01-01 00:00:00.000000”/ /公共美元timezone_type = >/ /整数(1)/ /公共美元时区= >/ /字符串(6)“+ 00:00”/ /}
发表在#生活在边缘
评论
评论都关门了。
以确保评论保持相关,他们关闭了旧的帖子。