将格式为YYYYMMDD的JavaScript字符串中的日期转换为JavaScript日期的最佳方法是什么?

时间:2010-09-30 15:13:40

标签: javascript date

将格式为YYYYMMDD的JavaScript字符串中的日期转换为JavaScript日期格式的最佳方法是什么。

var from_date = document.getElementById('from_date').value;             
var YYYY = from_date.substring(0,4);
var MM = from_date.substring(4,7);
var DD = from_date.substring(7,8);      

2 个答案:

答案 0 :(得分:4)

var myDate = new Date( parseInt(YYYY,10), parseInt(MM,10)-1, parseInt(DD,10) );

请注意,提供给日期构造函数的月份是实际月份数 - 1。

编辑:好的,您的日期部分提取存在一些问题 - substring可能是javascript的子字符串方法(sub,substr,substring)中最尴尬的。经过测试,我认为月份值必须比实际数字少1。这是一个固定的样本。

var from_date = "20101127"; //document.getElementById('from_date').value; 
var YYYY = from_date.substring(0, 4);
var MM = from_date.substring(4, 6);
var DD = from_date.substring(6);
var myDate = new Date(parseInt(YYYY, 10), parseInt(MM, 10) - 1, parseInt(DD, 10)); 
alert(myDate); // should be november 27th 2010

答案 1 :(得分:0)

这很容易,我在同样的问题上挣扎但想出了一个更简单的方法。 创建隐藏的div标签并将日期设置为属性。然后检索属性并使用子字符串方法获得类似Mar 01的内容。

     <div id="test" style="display:none;" date=""></div>
     <script type="text/javascript">
     var date = new Date();
     document.getElementById('test').setAttribute('date',date);
     var getdate = document.getElementById('test').getAttribute('date');
     var newdate = getdate.substr(4,7);
     alert(newdate);
     </script>

非常感谢! 看看我的操作系统:hypertos(dot)webege(dot)com