首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在MVC控制器参数中将毫秒转换为DateTime

如何在MVC控制器参数中将毫秒转换为DateTime
EN

Stack Overflow用户
提问于 2015-08-02 03:08:31
回答 1查看 1.9K关注 0票数 0

甘特图以毫秒为单位将时间传递给MVC4控制器。下面的代码打印出1440190800000

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$(".gantt").gantt({
    onAddClick: function (dt, rowId) {
        alert(dt);
        window.location.href='NewBooking?' + $.param({
            datetime: dt,
            row: rowId
        });
    },

MVC4控制器有签名:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public ActionResult NewBooking(DateTime datetime, string row)
{
    var m = new NewBookingViewModel();
    return View(m);
}

调用此控制器会导致错误。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
The parameters dictionary contains a null entry for parameter 'datetime' of non-nullable type 'System.DateTime' for method 'System.Web.Mvc.ActionResult NewBooking(System.DateTime, System.String)' in 'Eeva.Erp.Controllers.BookingController'. An optional parameter must be a 
since milliseconds are not contverted to datetime.

如何在控制器代码或javascript中修复这一点以获得DateTime值?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-02 03:31:03

毫秒不能表示日期。毫秒是测量时间持续时间的单位。因此,询问如何将时间持续时间转换为DateTime C#对象是没有意义的。

另一方面,由于时间中的某个固定日期(如The Epoch)可以表示一个DateTime,因此经过了毫秒。我不熟悉您正在使用的客户端库以及这些毫秒代表的是什么,但为了本例的目的,让我们假设它们表示自1970年1月1日以来所经过的毫秒数00:00:00协调时。在这种情况下,您可以简单地将其转换为相应的DateTime对象:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public DateTime FromUnixTime(long unixTime)
{
    var epoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
    return epoch.AddMilliseconds(unixTime);
}

然后:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public ActionResult NewBooking(long datetime, string row)
{
    DateTime someDate = FromUnixTime(datetime);
    var m = new NewBookingViewModel();
    return View(m);
}

显然,可以进一步改进这些代码,以便在自定义模型绑定器中进行这种转换,然后控制器操作可以直接接受DateTime对象参数。

现在,这取决于您和您正在使用的js库的文档,它们详细说明了将这些毫秒转换为DateTime的精确算法。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31771259

复制
相关文章

相似问题

领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文