jQuery将datetime转换为特定格式

时间:2017-10-03 10:57:37

标签: javascript jquery asp.net asp.net-mvc datetime

我有一个日期时间,从我的.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)'方法,并且此方法无法转换为商店表达式。

3 个答案:

答案 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");