【问题标题】:HTML/JS: datetime display-erHTML/JS:日期时间显示器
【发布时间】:2020-08-15 03:48:48
【问题描述】:

是否有可用的组件、div 类、任何使用纯 JS 或引导程序来显示按说明格式化的日期字符串?例如:

<div
  class="my-datetime-formatter-and-display-er"
  value="Thu 30 Apr 20:12:08 EEST 2020"
  format="%M/%Y"
></div>

并显示“04-2020”?但是对于相同的value,当格式更改时它会显示其他内容?这个想法是value 始终相同。

我在搜索中得到的只是日期选择器。

或者,如果我已经有一个格式化 datestr 的 js 函数,例如formatdata("Thu 30 Apr 20:12:08 EEST 2020", "%M/%Y"),我如何在 div onload(?) 上调用它来格式化值并在创建时填写它? (前提是不干扰已经安装的onclick等)

【问题讨论】:

标签: javascript html bootstrap-4


【解决方案1】:

等等,Bootstrap 与它无关。 Bootstrap 可以处理它的显示方式,但它不能改变日期格式(而且我在你的代码中看不到 Bootstrap 类):另外,&lt;div&gt; 元素在默认情况下没有value 属性HTML。您应该改用&lt;date&gt;,最终使用datetime="Thu 30 Apr 20:12:08 EET 2020" 作为属性。也就是说,我的建议是通过 JavaScript 来管理它。

<div class="my-datetime-formatter-and-display-er">
  <date datetime="04-2020">Thu 30 Apr 20:12:08 EET 2020</date>
</div>

您可以使用 JavaScript 函数修改 datetime&lt;date&gt; 的 innerHTML,调用类 .my-datetime-formatter-and-display-er 作为 DOM 节点。您可以让&lt;date&gt; 元素为空并仅显示其datetime 属性。从 onload 调用您的函数(如果存在)仅取决于您在 JavaScript 中选择的事件侦听器。我的意思是,比如:

window.addEventListener('load', formatData('Thu 30 Apr 20:12:08 EET 2020', '%M-%Y'));

…在窗口加载事件中使用它。如何在页面上显示日期取决于您。我希望这可以帮助你,虽然我不确定我是否理解你的问题。

【讨论】:

  • 也许我不清楚,但我确实想控制它的显示方式。假设日期值来自 ajax。并填充 div。现在假设它是未格式化的,并且我希望一旦 div 感知到值已更改,就使用该格式对其进行格式化并像这样显示它,格式化。
猜你喜欢
  • 2022-12-10
  • 1970-01-01
  • 2018-05-28
  • 2022-11-19
  • 2020-07-22
  • 1970-01-01
  • 1970-01-01
  • 2015-06-12
  • 2011-10-30
相关资源
最近更新 更多