将日期从 YYYYMMDD 更改为 YYYY-MM-DD Javascript

新手上路,请多包涵

我正在尝试从我的数据库中转换一个格式为 YYYYMMDD 并放置在输入框中的字符串 id="startingdate" 。如何在另一个输入框 id="startingdate1" 将其转换为 YYYY-MM-DD?

 <input type="" id="startingdate1" name="startingdate1" size="20" class="form-control col-md-7 col-xs-12" placeholder="YYYY-MM-DD"/>
<input id="startingdate" name="startingdate" type="hidden"/>

原文由 Hafiz Idris 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 452
2 个回答

如果出于某种原因你不想使用正则表达式:

 var startDate = document.getElementById('startingdate').value;
var displayDate = document.getElementById('startingdate1');

var year = startDate.substring(0, 4);
var month = startDate.substring(4, 6);
var day = startDate.substring(6, 8);

displayDate.value = year + '-' + month + '-' + day;
 <input type="" id="startingdate1" name="startingdate1" size="20" class="form-control col-md-7 col-xs-12" placeholder="YYYY-MM-DD"/>
<input id="startingdate" name="startingdate" type="hidden" value="20160415"/>

原文由 damo-s 发布,翻译遵循 CC BY-SA 3.0 许可协议

s = s.replace(/(\d{4})(\d{2})(\d{2})/g, '$1-$2-$3');

这使用正则表达式来替换四位数字的序列,然后是两位数的序列,然后是两位数的序列,第一位加上 - ,加上第二位,加上 - ,加上第三个。

原文由 Akhilesh Singh 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题