2016-08-19 40 views
0

我在UI上有一个日历,并且最初在加载页面时,当前日期应该显示在日历中。日历中的日期将刷新页面时返回当前日期

现在
$('#single_cal1').attr("placeholder", new Date().toLocaleDateString()); 

如果用户选择日历中的另一日期我能够更新日历中的日期为根据选择:我对实现这一目标。

问题:刷新页面时,日历框中的日期回到当前日期。而且很明显,因为在页面刷新我的代码

$('#single_cal1').attr("placeholder", new Date().toLocaleDateString()); 

运行并将日期设置为当前。

请注意,我始终在localStorage中提供“用户选择日期”。

目前代码:

<script> 
$('#single_cal1').attr("placeholder", new Date().toLocaleDateString()); 
</script> 

代码我想实现:

<script> 
var x = localStorage.getItem('date'); // OUPTUT OF DATE IS 2016-08-19T14:22:53.339Z 
var y = x.toLocaleDateString(); 
    $('#single_cal1').attr("placeholder",y); 
    </script> 

,但我得到的错误。而且我知道为什么我会出错。有什么办法可以格式化我从本地存储获得的日期。谢谢!

回答

2

你可以简单地做:

var y = new Date(x).toLocaleDateString(); 
// new Date('2016-08-19T14:22:53.339Z').toLocaleDateString() 
// returns 8/19/2016 
+0

太感谢你了。所以基本上本地存储不明白,我已经保存了“Date对象”所以明确我需要将x传递给“Date”。我对吗? – Unbreakable

+2

https://jsfiddle.net/3prcf54c/1/ @Unbreakable X是一个字符串*'2016-08-19T14:22:53.339Z'*因此,_String_没有* .toLocaleDateString()*方法因为它不是_Date Object_ –

+1

谢谢@GrégoireFruleux – Unbreakable