問題描述
這讓我很困惑.我的模型中有一個用 DateTime 注釋的屬性.在我的數(shù)據(jù)庫中,它存儲為時間戳.在前端我使用 f:format.date viewhelper 來輸出這個屬性.
Its confusing me. I've a property in my Model which is annotated with DateTime. In my Database its stored as timestamp. In Frontend I use the f:format.date viewhelper to output this property.
當我創(chuàng)建新記錄并添加 f.e.01.06.2017 10:00 在這個字段中,在我的數(shù)據(jù)庫中存儲了 01.06.2017 08:00 的時間戳.在前端輸出是正確的.直到這里一切都很好.
When I create a new record, and add f.e. 01.06.2017 10:00 in this field, in my database is stored the timestamp for 01.06.2017 08:00. In Frontend the output is correct. Until here everything is fine.
三月份的最后一次時間更改導致輸出增加了兩個小時.我假設 10 月會再次改變,輸出將比這個:01.06.2017 08:00.
The last timechange in March lead to a + of two hours in output. I assume in October that will change again and the output will be than this: 01.06.2017 08:00.
我怎樣才能防止這種情況發(fā)生.當這些日期改變時,這絕對是一個問題,因為它對業(yè)務很重要.
How can I prevent this. Its definitely a problem when these dates change, because its important for the business.
我如何測試 10 月份會發(fā)生什么?
How can I test what will happen in October?
推薦答案
問題發(fā)生是因為 TYPO3 將時間標準化為 UTC.對于規(guī)范化(以及隨后的非規(guī)范化),它尊重服務器的時區(qū)設置.或 LocalConfiguration.php.
中給出的設置在 6.2 之前,有兩個設置 [SYS][serverTimeZone]
和 [SYS][phpTimeZone]
.
在 7.6 中,它只是 [SYS][phpTimeZone]
,因為服務器時區(qū)是從 php 本身檢測到的.
The Problem occurs as TYPO3 saves times normalized as UTC. for normalization (and afterwards denormalization) it respects the timezone-settings of the server. Or settings given in LocalConfiguration.php.
Up to 6.2 there were two settings [SYS][serverTimeZone]
and [SYS][phpTimeZone]
.
With 7.6 it is only [SYS][phpTimeZone]
as the servertimezone is detected from php itself.
您現(xiàn)在可以選擇通過將 [SYS][phpTimeZone]
設置為字符串UTC"來將服務器的時區(qū)偽裝為UTC".這樣一來,時間就不能再改變了.
You now have the option to fake the timezone of your server to "UTC" by setting [SYS][phpTimeZone]
to the string "UTC". In this way no times should be changed any more.
這篇關于使用 TYPO3 和 Fluid 正確處理時區(qū)的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網(wǎng)!