将数字转换为日期格式| Javascript |

Convert number within span to date format | Javascript |

本文关键字:格式 Javascript 日期 数字 转换      更新时间:2023-09-26

我有一个数字(20150918)在一个html文档的范围内。我只能用CSS和javascript控制html文档。我想将数字20150918更改为更可读的日期格式(例如:2015/09/18)。

这对我来说很明显,我不能使用CSS来改变属性,所以我的假设是,我只能使用javascript。这感觉像是一个简单的问题,但是我找不到任何我正在格式化的数字已经在HTML内的地方。

所以我要更新的span现在看起来是这样的:

<span id="changeme">20150918</span>

任何帮助都将是感激的,如果我错过了一些非常明显的我道歉…

下面是JavaScript中的工作代码:

var formatForDate = function(element) {
  var originalText = element.innerText;
  var year = originalText.substring(0,3);
  var month = originalText.substring(4,5);
  var day = originalText.substring(6,7);
  element.innerText = [year, month, day].join('/');
}
要使用它,只需像这样给他一个HTML元素:
formatForDate(document.querySelector('#changeme'));

捕获元素:

var span = document.getElementById("changeme");

捕获字符串:

var old_format = span.innerHTML;

创建标识数据位置的模式:

var pattern = /('d{4})('d{2})('d{2})/;

用新的模式替换字符串:

var new_format = old_format.replace( pattern,'$1/$2/$3' );

输出结果:

span.innerHTML = new_format;
下面是代码片段:

var span = document.getElementById("changeme");
var old_format = span.innerHTML;
var pattern = /('d{4})('d{2})('d{2})/;
    
var new_format = old_format.replace( pattern,'$1/$2/$3' );
span.innerHTML = new_format;
<span id="changeme">20150919</span>