1

我正在编写一个 MVC 5 互联网应用程序,并在视图中使用bootstrap-datetimepicker

我的应用程序正在国际上使用,我想格式化 datetimepicker 以使每个用户都有正确的格式。我有每个用户的文化和时区,如何将 datetimepicker 格式化为正确的用户格式?我应该使用格式属性、语言环境还是其他技术?

我目前正在DateTimeFormat从对象中获取Culture对象。这具有以下值:

ShortDatePattern

ShortTimePattern

然后我尝试将 datetimepicker 设置如下:

$(function () {
    $('#displayMapLocationStartDate').datetimepicker(
    {
        format: '**combination of culture object**',
    });
});

这是为每个不同用户的文化编写正确格式的 datetimepicker 代码的最佳方法吗?如果没有,应该怎么做?

提前致谢。

4

2 回答 2

2

Bootstrap datetimepicker 在内部使用 Moment.js 进行格式化,并且 Moment 的格式化代码与 .NET 不同。例如,.NETdd用于带有前导数字 (01...31) 的月份中的某天,但 MomentDD用于同一事物。因此,您在上面发布的代码将无法按预期工作。

您将需要编写一个转换方法,该方法接受 .NET 日期/时间格式字符串并输出与 Moment 兼容的版本,然后您可以在设置datetimepicker.format属性时使用它。

于 2015-03-16T10:17:14.443 回答
1

如果您查看Momentjs 文档,您会发现它们提供了区域设置感知格式标记L(日期)和LT(时间)。

这两个标记都是选择器设置的可接受字符串format

只要您将moment-with-locales.jsmoment.js包含在正确的语言环境文件中,您就可以使用任何一个标记来做您想做的事情。

$('#displayMapLocationStartDate').datetimepicker(
{
    format: 'L',
});
于 2015-03-21T15:04:41.550 回答