C# 更新事件后的日期格式更改
我面临日期格式的问题。调用UpdateItem操作时,C# 更新事件后的日期格式更改,c#,asp.net-mvc,json,datetime,C#,Asp.net Mvc,Json,Datetime,我面临日期格式的问题。调用UpdateItem操作时,CreatedAt的日期格式会出错。顺便说一下,我使用的是JSON,所以一定与日期序列化有关 型号: public class Item { public int ItemId { get; set; } public string ItemName { get; set; } public string CreatedBy { get; set; } public DateTime? CreatedAt {
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();
}
更新操作:
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
我在控制器中尝试了此操作,但未将获取的字符串识别为有效的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使用。如果希望获得具有给定javascript日期值的DateTime对象,请从1970年1月1日创建一个新的DateTime对象,然后添加毫秒
注意:
var dt = new DateTime(1970, 1, 1).AddMilliseconds(1395366469723);
// "21/03/2014 1:47:49 AM"