Skip to main content

This site requires you to update your browser. Your browsing experience maybe affected by not having the most up to date version.

Content Editor Discussions /

Forum for content editors and CMS users.

Moderators: martimiz, Sean, biapar, Willr, Ingo, swaiba, simon_w

DateTimeField keeps converting times to AM


Reply


4 Posts   177024 Views

Avatar
Dig

Community Member, 29 Posts

20 June 2013 at 3:15pm

In the time part of the date time field it always converts the time to AM no matter what is put in there. I notice it used strtotime so I've tried all sorts of creative entry to get a PM time but it simply doesn't work.

21:15 -> save -> 9:15:00 AM

9:15:00 PM -> save -> 9:15:00 AM

and plenty more.

This is in a dataobject managed by model admin, silverstripe 3.1 but we've tried 3, 3.0.5 and 3.1 in this process with the same results.

Any ideas, going a bit loopy here being stuck on such a simple seeming issue!

Cheers,

Avatar
Devlin

Community Member, 215 Posts

22 June 2013 at 12:14am

Edited: 22/06/2013 12:38am

I can reproduce this issue.

As a workaround, you can edit the time format to a 24h format.

$datetime = new DatetimeField('Datetime');
$datetime->timefield->setConfig('timeformat', 'H:mm');
// or
$time = new TimeField('Time');
$time->setConfig('timeformat', 'H:mm');

Edit:
Maybe related to [url=https://github.com/silverstripe/silverstripe-framework/issues/1713]#1713[/url].

Avatar
tractorcow

Community Member, 14 Posts

28 June 2013 at 4:50pm

Pull request in https://github.com/silverstripe/silverstripe-framework/pull/2164

Hopefully this fixes the issue.

The problem was due to the TimeField mistakenly assuming times with am/pm were in ISO format (24 hour format) and converting them using this method. Sadly, this dropped the am/pm.

Avatar
Sam

Administrator, 685 Posts

7 July 2013 at 2:04pm

The fix mentioned above has been merged into the 3.1 branch and so will be included with 3.1.0-rc1