在更新事件时更改日期格式



我遇到一个日期格式的问题。在调用UpdateItem操作时,CreatedAt的日期格式变得混乱。顺便说一下,我使用的是JSON,所以必须与日期序列化有关。

模型:

public class Item
{
    public int ItemId { get; set; }
    public string ItemName { get; set; }
    public string CreatedBy { get; set; }
    public DateTime? CreatedAt { get; set; }
    public string UpdatedBy { get; set; }
    public DateTime? UpdatedAt { get; set; }
}

创建行动:

public int CreateItem(Item item)
{
    var item = new Item();
    viewModel.CopyToItem(item); 
    item.CreatedBy = WebSecurity.CurrentUserName;
    item.CreatedAt = DateTime.Now;
    db.Items.Add(item);
    db.SaveChanges();
    return item.ItemId;
}
更新行动:

public void UpdateItem(Item item)
{
    item.UpdatedBy = WebSecurity.CurrentUserName;
    item.UpdatedAt = DateTime.Now;
    db.SaveChanges();
}

日期格式不正确:

/Date(1395366469723)/

应该是:

2014-03-21T09:50:01.747

我在控制器中尝试了这一点,但得到String was not recognized as a valid DateTime'错误。

string isoJson = JsonConvert.SerializeObject(DateTime.Now, new IsoDateTimeConverter());
item.CreatedAt = DateTime.ParseExact(isoJson, "yyyy-MM-dd hh:mm:ss.ttt", CultureInfo.InvariantCulture);

在模型中使用非空的DateTime也没有修复它。

Javascript使用Unix时间。如果你想用给定的javascript日期值获得一个DateTime对象,从1970年1月1日开始创建一个新的DateTime对象,然后添加毫秒。

观察:

var dt = new DateTime(1970, 1, 1).AddMilliseconds(1395366469723);
// "21/03/2014 1:47:49 AM"

相关内容

  • 没有找到相关文章

最新更新