Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将跨度内的数字转换为日期格式| Javascript|_Javascript_Date_Date Formatting - Fatal编程技术网

将跨度内的数字转换为日期格式| Javascript|

将跨度内的数字转换为日期格式| Javascript|,javascript,date,date-formatting,Javascript,Date,Date Formatting,我有一个html文档范围内的数字(20150918)。我只能用CSS和javascript控制html文档。我想将数字20150918更改为更可读的日期格式(例如:2015/09/18) 很明显,我不能使用CSS来更改属性,所以我的假设是,我只能使用javascript来更改属性。这感觉像是一个简单的问题,但我找不到任何我正在格式化的数字已经在HTML中的地方 因此,我现在尝试更新的跨度基本上如下所示: <span id="changeme">20150918</span>

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

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

因此,我现在尝试更新的跨度基本上如下所示:

<span id="changeme">20150918</span>
20150918
如果我错过了一些显而易见的东西,我表示歉意。

抓住要点:

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模式=/(\d{4})(\d{2})(\d{2})/;
var new_format=old_format.replace(模式“$1/$2/$3”);
span.innerHTML=新的_格式

20150919
这里有一个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'));

以毫秒或实际日期为单位?字符串是否始终为YYYYMMDD格式?您的代码需要jQuery才能工作。因为这个问题没有引用它,所以你应该避免使用它。@David我认为没有带疑问的jquery标记??是的,我不允许使用任何外部库,所以不能使用jquery,但我厚颜无耻地找到了一种方法来访问页面上的javascript库……谢谢,我今天晚些时候会尝试一下,并让你知道我如何相处:)谢谢,成功了!但数字需要略有不同:var year=originalText.substring(0,4);var月=原始文本子字符串(4,6);var day=原始文本子串(6,9);将其标记为其他人的答案