使用Moment.js在ASP.NET MVC中格式化视图模型日期

MikeBaz-MSFT

我将Razor用作ASP.NET MVC 5中的视图引擎。我的日期来自UTC的后端服务。我想moment.js客户端使用JavaScript格式化那些(例如我不想在服务器上这样做,因为我不想担心客户端在服务器端位于哪个时区(毕竟,服务器并不在乎)。

我认为从MVC,AJAX和Moment.js的Locale Date格式化来看,虽然我没有足够的信息可以解决这个问题,但是如果有必要的话,可以通过某种方式在服务器端执行此操作,这不是我想要的反正。

诸如使用自定义格式的ASP.NET MVC ViewModel映射之类的东西在ASP.NET MVC(3)中格式化模型属性的最佳位置是哪里?如何在asp.net mvc 5格式化日期不起作用,因为这是服务器端的(或者它以某种我不理解的方式?)

干净可靠地执行此操作的“最佳” /“正确”方法是什么?

编辑:明确地说,我对moment.js这边一无所知如果没有的话,我就不会命名。我要问的是ASP.NET MVC视图集成-如何以“正确”的方式完成此工作?

编辑2:我知道该怎么做脚本。我不知道是否有来自脚本变量的输出,如何将变量的内容转换为视图中显示给用户的信息?如果可以的话,我不需要执行诸如编辑HTML元素内容之类的操作;那根本不干净。也许我应该使它变得更加简单,以使其变得非常清晰:

想象一下Razor中的视图。该观点说:

@foreach (var item in Model) {
    <!-- something to do javascript manipulation of item -->
    <p>The result of manipulating @item.startDate is <!-- WHAT DO I DO HERE? --></p>
}

这些评论是我现在不知道该怎么做的。

盖伊

您可以尝试一下(带剃须刀的JS):

var date = moment('@YourDateTime.ToString( "s", System.Globalization.CultureInfo.InvariantCulture )');

momentjs文档:

从字符串创建矩时,我们首先检查字符串是否与已知的ISO 8601格式匹配

来源

.NET文档:

“ s”标准格式说明符反映了已定义的标准(ISO 8601)

来源

编辑

溶液结合momentjsRazor显示阵列DateTime

HTML / Razor:

@foreach (var item in Model) {
   <p data-utcdate="@item.startDate.ToString("s", System.Globalization.CultureInfo.InvariantCulture)"></p>
}

JS(使用JQuery):

<script type="text/javascript">
    $(function () {
        $('[data-utcdate]').each(function () {
            var d = moment($(this).attr('data-utcdate'));
            $(this).html(d.format());
        });
    });
</script>

如果要以其他格式显示日期:http : //momentjs.com/docs/#/displaying/format/

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用Moment.js在JS中格式化日期

来自分类Dev

使用Moment.js在JS中格式化日期

来自分类Dev

使用asp.net MVC包装器在Kendo UI网格中格式化DateTime

来自分类Dev

使用asp.net MVC包装器在Kendo UI网格中格式化DateTime

来自分类Dev

如何在ASP.NET MVC 5中格式化日期

来自分类Dev

在ASP.NET MVC中格式化下拉列表

来自分类Dev

使用Moment.js在特定语言环境中格式化日期

来自分类Dev

如何在不使用 moment.js 的情况下在 javascript 中格式化日期

来自分类Dev

无法使用 moment.js 格式化日期

来自分类Dev

在moment.js中格式化日期将提供1/1/2016

来自分类Dev

在Moment.js中格式化日期字符串

来自分类Dev

在ASP.NET中的Razor视图中格式化可空小数

来自分类Dev

在ASP.NET MVC中的Razor中格式化值

来自分类Dev

在Moment.js中格式化longDateFormat

来自分类Dev

如何在ASP.NET中格式化数据

来自分类Dev

使用d3.js工具在javascript中格式化日期

来自分类Dev

根据区域设置使用moment.js格式化日期

来自分类Dev

根据区域设置使用moment.js格式化日期

来自分类Dev

使用moment.js格式化datetime以显示时区

来自分类Dev

Kendo ASP.NET MVC网格中的格式化日期列

来自分类Dev

使用Moment JS在聊天应用程序中格式化时间

来自分类Dev

奇怪的行为格式化Moment.js日期

来自分类Dev

用当地语言格式化日期(moment.js)

来自分类Dev

用Moment JS库格式化日期

来自分类Dev

使用Moment.js标准化日期格式

来自分类Dev

使用moment.js检查日期格式

来自分类Dev

ASP.Net MVC SQL格式化HTML

来自分类Dev

在ASP.NET MVC中使用Razor的CSS视图模型

来自分类Dev

使用Ajax将Knockout.js视图模型发布到ASP.NET MVC Controller操作中会导致空值

Related 相关文章

热门标签

归档