我有一个日期时间,从我的.net应用程序中的服务器端返回,如下所示:
Jul 24 2017 7:33PM
我试图将其转换为:
yyyy-MM-dd
格式如下:
var date = new Date(data);
var res = (date.getFullYear() + '-'(date.getMonth() + 1) + '-' + date.getDate());
但是当我在控制台中输出结果时,我得到的结果是:
NaN-NaN-NaN
如何将jQuery / Javascript中的时间转换为yyyy-MM-dd
格式?
有人能帮助我吗?
P.S。这里的人是查询,它返回我尝试转换的结果和日期:
var user = ctx.Users.Where(x => x.UserId == _parsedId)
.Select(b => new
{
Active = b.Active,
Email = b.Email,
Subscriptions = b.Subscriptions.Where(p => p.Active == true).Select(sub => new
{
SubscriptionID = sub.SubscriptionId,
Type = sub.SubTypes.SubName,
ReferenceID = sub.ReferenceId,
Active = sub.Active,
DateCreated = sub.CreateDate.ToString("yyyy-MM-dd"),
ExpirationDate = sub.ExpirationDate.ToString("yyyy-MM-dd")
}).ToList(),
Roles = b.UserRoles.Where(p => p.Active == true).ToList()
})
.AsEnumerable()
.Select(x => x)
.FirstOrDefault();
// ExpirationDate - is of Type DateTime?
// CreatedDate - is of Type DateTime
当我尝试将日期时间转换为特定格式时,我收到以下错误:
附加信息:LINQ to Entities无法识别方法' System.String ToString(System.String)'方法,并且此方法无法转换为商店表达式。
答案 0 :(得分:2)
您可以随时使用moment.js(http://momentjs.com/)
这是使用日期和时间进行操作的最简单方法之一。
使用瞬间,您可以轻松地隐藏:
moment(new Date()).format('yyyy-MM-dd');
答案 1 :(得分:0)
您可以更改服务器端代码,
var user = ctx.Users.Where(x => x.UserId == _parsedId)
.Select(b => new
{
Active = b.Active,
Email = b.Email,
Subscriptions = b.Subscriptions.Where(p => p.Active == true).ToList().Select(sub => new
{
SubscriptionID = sub.SubscriptionId,
Type = sub.SubTypes.SubName,
ReferenceID = sub.ReferenceId,
Active = sub.Active,
DateCreated = sub.CreateDate.ToString("yyyy-MM-dd"),
ExpirationDate = sub.ExpirationDate.ToString("yyyy-MM-dd")
}).ToList(),
Roles = b.UserRoles.Where(p => p.Active == true).ToList()
})
.AsEnumerable()
.Select(x => x)
.FirstOrDefault();
这对你有用
答案 2 :(得分:0)
moment(yourdate, 'DD/MM/YYYY HH:mm').format("DD/MM/YYYY HH:mm");