如何在Symfony5中使用Serializer标准化日期时间

问题描述 投票:0回答:1

我正在尝试使用Serializer在csv中导出数据。我的桌子上有一个日期时间字段。如何在d / m / Y中转换此日期?

    public function csvExport(ComplaintRepository $repo)
    {
        $serializer = new Serializer([new ObjectNormalizer()], [new CsvEncoder()]);

        $complaints = $repo->findAll();
        $list = $serializer->serialize($complaints, 'csv', [AbstractNormalizer::IGNORED_ATTRIBUTES => ['id', 'registrationdate', 'gdpr', 'langvis', 'department', 'status', 'slug']]);

        echo $list;        

        $response = new Response();
        $response->headers->set('Content-Type', 'text/csv');
        //it's gonna output in a testing.csv file
        $response->headers->set('Content-Disposition', 'attachment; filename="test.csv"');

        return $response;
    }
csv symfony serializer
1个回答
0
投票

[只要您在实体中使用日期时间字段,就可以将DateTimeNormalizer添加到Serializer以处理它,例如:

 $serializer = new Serializer(
     [
         new DateTimeNormalizer([DateTimeNormalizer::FORMAT_KEY => 'd/m/Y']),
         new ObjectNormalizer(),
     ],
     [new CsvEncoder()]
 ); 
© www.soinside.com 2019 - 2024. All rights reserved.