【问题标题】:JavaScript function to re-arrange date format用于重新排列日期格式的 JavaScript 函数
【发布时间】:2014-12-05 16:55:55
【问题描述】:

我正在使用 Google 跟踪代码管理器进行一些分析。

我们在网站上有一个数据层,其中一个值是 DDMMYYYY 格式的日期。

对于媒体标签,我需要将此日期更改为 YYYY-MM-DD。

我正在尝试这样的例子:但我无法让它工作。 我是 Javascript 的新手

(function(){
var d = {{Departure_Date}}
var u = {{Departure_Date}}.replace(/(\d{2})(\d{2})(\d{4})/,'$3$2$1')
return u

})()

这里的{{Departure_Date}}是一个访问dataLayer并提取出原始日期格式的变量。

任何帮助将不胜感激。

【问题讨论】:

  • 控制台有错误吗?请注意,05122014.replace(...) 不是有效代码;)

标签: javascript function date format


【解决方案1】:

[假设{{Departure_Date}}是一个字符串,比如'04032003']

差不多了。试试[ddmmyyyy].replace(/^(\d{2})(\d{2})(\d{4})$/, '$3-$2-$1')。或者,您可以分割 ddmmyyyy 字符串(参见 sn-p)

var res = document.querySelector('#result');

res.innerHTML = 'input: 20052014, output: ' + 
                '20052015'.replace(/^(\d{2})(\d{2})(\d{4})$/, '$3-$2-$1');

// Alternative:
var inp = '18072013';
res.innerHTML += '<br>input: 18072013, output: ' + 
                 [inp.slice(4), inp.slice(2,4), inp.slice(0,2)].join('-');
&lt;div id="result"&gt;&lt;div&gt;

【讨论】:

  • 我注意到您在日期值周围有引号。我们是否有证据表明 OP 的代码具有此类引用? ;)
  • 给定格式 DDMMYYYY 我假设一个字符串值(例如 02021993)。方法replace 将是另一个指示{{Departure_Date}} 是一个字符串。
  • 我同意你的看法,但是假设这是 PHP,我有 &lt;?php echo "02021993"; ?&gt;.replace(...) - 即使我在 PHP 中有一个字符串,渲染的 JavaScript 也没有得到引号。
  • 好吧,让 OP 决定吧。我认为他/她正在使用 angular.js,我没有在问题中看到服务器脚本标记
  • 是的,缺少服务器脚本标签很难判断,但是“注入值周围缺少引号”是此类问题的最大原因,所以这就是我提出它的原因
猜你喜欢
  • 1970-01-01
  • 2021-02-08
  • 1970-01-01
  • 2022-12-06
  • 2020-11-23
  • 2021-11-24
  • 1970-01-01
  • 2015-04-01
  • 2021-10-14
相关资源
最近更新 更多