我正在开发一款新的Laravel7.1应用程序(不是升级版),但使用日期序列化似乎会影响时区。
config/app.php
'timezone' => 'Europe/Zurich',
修补程序示例
>>> \Carbon\Carbon::parse('2020-06-22')->timezone
=> Carbon\CarbonTimeZone {#3251
timezone: Europe/Zurich (+01:00),
}
Laravel7使用toJson()
>>> \Carbon\Carbon::parse('2020-06-22')->toJson()
=> "2020-06-21T22:00:00.000000Z"
因此,当我分析回日期时,我没有得到正确的日期。
>>> new \Carbon\Carbon('2020-06-21T22:00:00.000000Z')
=> Carbon\Carbon @1592776800 {#3266
date: 2020-06-21 22:00:00.0 +00:00,
timezone: "Z",
}
>>> (new \Carbon\Carbon('2020-06-21T22:00:00.000000Z'))->format('Y-m-d')
=> "2020-06-21"
现在我是这样做的
$date = Carbon::parse('2020-06-21T22:00:00.000000Z')
->setTimezone(config('app.timezone'));
作为替代,我可以更改我的模型中的默认日期格式,如文档中所述
/**
* Prepare a date for array / JSON serialization.
*
* @param \DateTimeInterface $date
* @return string
*/
protected function serializeDate(DateTimeInterface $date)
{
return $date->toIso8601String(); // 2019-02-01T03:45:27+00:00
}
但是我想,Carbon::parse()
和/或newcarbon()
默认使用我的时区是更好的-
这里也有同样的问题。
从Laravel 6升级时-
更新到数据库时,此日期每次都会随时区设置一起移动。
当在浏览器中显示时间戳时,该字段的每个表示都必须通过(浏览器)时区设置来修复。
升级手册提出了一个解决方案。
我们在所有型号中都使用了一个特性,因此我们在其中进行了更新:
use DateTimeInterface;
/**
* Prepare a date for array / JSON serialization.
*
* @param \DateTimeInterface $date
* @return string
*/
protected function serializeDate(DateTimeInterface $date)
{
return $date->format('Y-m-d H:i:s');
}
当然,最好对所有东西都使用UTC,但是这需要从JSON(ajax)的读回使用与序列化相同的时区设置/差异。
我正在尝试用自定义日期格式序列化和反序列化相当简单的对象: 在执行main方法时,我希望得到类似于: “日期”:“20151117” 20151117 但不幸的是得到了以下几点: {“日期”:“20151117”} 20151117-01-01T00:00:00.000+03:00(年份不正确) 似乎Jackson忽略了对象反序列化的@JSONFORMAT注释,并将字符串视为ISO-8601符号中
问题内容: 我正在尝试反序列化具有JavaScript日期的json对象。在对象上调用JSON.stringify时,日期会序列化为未正确反序列化回日期的字符串。我尝试使用带有chrome,IE和FF的本机浏览器实现以及使用jquery来反序列化对象。两者都给出了一些结果。这是代码段: 我希望objDeser.Date是js日期而不是字符串。您可以在此处查看此问题的实际使用情况:http : //
问题内容: 我正在尝试使用protobuf序列化结构。经过许多小时试图弄清楚我在做什么错,我决定测试google的示例,但效果不佳 我从Google(https://developers.google.com/protocol- buffers/docs/javatutorial )获得以下协议: 我正在尝试将其序列化: byte []序列化= john.toByteArray(); 我得到“ j
在任何人试图告诉我这是一个重复之前,我已经试过了关于这个的解决方案,以及几乎所有其他我能找到的答案。 我的项目在IntelliJ中构建得很好,通过了我设置的所有测试,它甚至在IntelliJ内部运行得也很好,当我试图运行maven构建的JAR时,除了几个例外,我就被打了个耳光。 代码所指向的类: 根据我看到的例外情况,当通过命令提示符运行时,问题出现在第31行,它将是: 命令提示符中的堆栈跟踪如下
奇怪的是下面的测试用例会失败。有人知道为什么吗?
我使用的是Gson v2。8.2和改造v2。我有两门课,答案是。kt: 答案ummary.kt: 我正在列表中使用它(在Java中,仍在迁移到Kotlin): 当未被删除时,我得到一个错误:: 删除“val”后: