【问题标题】:How to parse date format, without access to source code如何解析日期格式,无需访问源代码
【发布时间】:2017-10-10 03:13:42
【问题描述】:
{$userinfo.create_account_date}

这会以以下格式返回我的日期:Oct-3-2017

我想解析为:DD/MM/YYY (03/10/2017)

源代码已加密。有没有办法只通过前端解析它?

【问题讨论】:

  • front-end only 会让这不是一个 PHP 问题。
  • 如果你只想显示一个字符串,你可以很容易地使用字符串方法重新格式化它。你试过什么?你哪里出了问题?
  • 没有代码可看,OP 要求回答任何人都知道如何读心?

标签: javascript php date


【解决方案1】:

前端,假设是 JavaScript。最简单的风格。

function reformatDate(datumStr) {
  var monthsArr = [];
  monthsArr['Jan'] = '01';
  // add missing months here
  monthsArr['Oct'] = '10';

  var dArr = datumStr.split('-');
  return [dArr[1], monthsArr[dArr[0]], dArr[2]].join('/');
}
console.log(reformatDate('Oct-3-2017'));

输出:

3/10/2017

下面是凯伦的评论。

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type="text/javascript">
function reformatDate(datumStr) {
  var monthsArr = [];
  monthsArr['Jan'] = '01';
  // add missing months here
  monthsArr['Oct'] = '10';

  var dArr = datumStr.split('-');
  return [dArr[1], monthsArr[dArr[0]], dArr[2]].join('/');
}

function elRfr(idName, datumStr) {
            var id = document.getElementById(idName);
            id.innerHTML = reformatDate(datumStr);
}
</script>
</head>
<body>
<div id="ourDate"><script type="text/javascript">elRfr('ourDate', 'Oct-3-2017');</script></div>
</body>
</html>

Karen,这是一个只有一个 DIV 的简化示例。我猜你应该用 {$userinfo.create_account_date} 替换 'Oct-3-2017'。 如果我正确地假设您的代码是 Salesforce Apex 代码。

【讨论】:

  • 对不起,我缺乏知识。但是我该如何实现呢?我已将您的代码放入我的scripts.js 文件中。现在我有一个带有&lt;td nowrap&gt;&lt;b&gt;Date:&lt;/b&gt;&lt;/td&gt; &lt;td&gt;{$userinfo.create_account_date}&lt;/td&gt; 的 HTML,我必须对这个 HTML 进行哪些更改?
  • 你不应该像普通对象那样使用数组。
  • @RobG 你说得对,但这个具体例子的真正问题是什么?
【解决方案2】:

创建一个新的var,将日期字符串初始化为一个新的Date:

var d = new Date('Oct-3-2017');

然后使用Date 方法随心所欲地操作它。

【讨论】:

  • 导致“日期无效”...浏览器特定的答案没有用:p
  • new Date('Oct-3-2017'.replace(/-/g, ' ')) 有更好的机会跨浏览器工作
  • 解析非标准日期字符串依赖于实现且不可靠,因此不建议这样做。
猜你喜欢
  • 2014-09-26
  • 1970-01-01
  • 1970-01-01
  • 2021-11-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多