我正在嘗試創建一個Symfony2表單,我需要輸入日期和時間作爲事件的開頭,該事件以DateTime格式保存爲屬性。目前,使用24小時格式的下拉框輸入時間。我試圖將其更改爲12小時制。根據this post,Symfony TimeType不支持12小時格式。解決這個問題的一種方法是使用JQuery插件輸入時間,但我試圖避免這種情況。最簡單的方法是在上面鏈接post的jarofgreen的評論中顯示的,他在此爲TimeType.php中的Symfony供應商代碼提供了一個小補丁。我嘗試實施這一改變,它效果很好。問題是我需要在不更改供應商代碼的情況下執行此操作。相反,我決定爲TimeType創建一個擴展,如建議here。如何在12小時格式中輸入Symfony2格式的時間?
我複製了vendor/symfony/symfony/src/Symfony/Component/Form/Extension/Core/Type/TimeType.php
供應商代碼中的TimeType.php,對其進行了必要的更改,並將其保存爲src/AppBundle/Form/Type
下的MyTimeType。問題是我試圖改變的屬性屬於DateTimeType格式,而不是TimeType。據我所知,DateTimeType使用DateType和TimeType來創建一個DateTime對象。我的問題是,我需要對DateTimeType進行哪些更改,以便它將使用MyTimeType而不是TimeType來創建DateTime對象?