这可能是一个需要修复的简单问题,但我耐心地试图寻找解决方案。我使用的是kendo ui内联网格,我有两个日期字段。值本身似乎是作为字符串来实现的,我可以通过使用下面的oode来解决这些问题。
<div id="Grid" class="inline-edit-grid"
<!-- ... -->
data-columns="[
<!-- ... -->
{ field: 'RequestedDate',title: 'Requested', width: 15, template: '#= kendo.parseDate(RequestedDate,'M/dd/yyyy h:mm tt')#'},
{ field: 'AcceptedDate',title: 'Accepted', width: 15, template: '#= kendo.parseDate(AcceptedDate,'M/dd/yyyy h:mm tt')#'},
]">
这可以给我一个日期值,但它的格式为&#34; Thu Nov 09 2017 13:15:00 GMT-0500(东部标准时间)&#34;。相反,我希望格式为&#39; M / dd / yyyy h:mm tt&#39;。因此我尝试使用代码
{ field: 'RequestedDate',title: 'Requested', width: 15, template: '#= kendo.toString(kendo.parseDate(RequestedDate,'M/dd/yyyy h:mm tt'))#'}
这会在格式字符串中引发语法错误。从各方面来看,这不应该发生,我已经尝试了大量的格式字符串组合,以达到相同的结果。
答案 0 :(得分:0)
问题是在模板的带引号的字符串中使用引号。您可以通过下面的字符串着色的方式查看问题:
"#= kendo.toString(kendo.parseDate(RequestedDate,'M/dd/yyyy h:mm tt'))#"
您可以尝试使用双引号将带有单引号的字符串括在:
中'#= kendo.toString(kendo.parseDate(RequestedDate,"M/dd/yyyy h:mm tt"))#'
反之亦然:
'#= kendo.toString(kendo.parseDate(RequestedDate,\'M/dd/yyyy h:mm tt\'))#'
或者用\来转义字符串中的引号。你可能需要双\ \来逃避,我不记得了:
template: '#= kendo.toString(new Date(RequestedDate), "G")#',
其中一个或全部应该有用。
好的,试试这个:
# UserBundle\Resources\config\services.xml
<service id="saml.backend.fosuser.provider" class="UserBundle\Security\User\FosBackendSamlUserProvider">
<argument type="service" id="samlauth.service"/>
<argument type="service" id="fos_user.user_manager"/>
</service>
您不需要解析日期,而是从中创建一个javascript日期,然后使用kendo.toString对其进行格式化。 点击此处example了解格式选项。
答案 1 :(得分:0)
错误的引号。
更改为
'#= kendo.toString(kendo.parseDate(RequestedDate,"M/dd/yyyy h:mm tt"))#'
应该修正错误。
希望这对你有帮助:))