如何在Javascript中获取当前格式化日期dd/mm/yyyy并将其附加到输入[重复]
Posted
技术标签:
【中文标题】如何在Javascript中获取当前格式化日期dd/mm/yyyy并将其附加到输入[重复]【英文标题】:How to get current formatted date dd/mm/yyyy in Javascript and append it to an input [duplicate] 【发布时间】:2012-09-06 17:17:13 【问题描述】:我想将当前日期添加到隐藏的 html 标记中,以便将其发送到服务器:
<input type="hidden" id="DATE" name="DATE" value="WOULD_LIKE_TO_ADD_DATE_HERE">
如何将格式化日期添加到 VALUE 属性?
【问题讨论】:
第一件事:不要将 Java 与 javascript 混为一谈(甚至不要将 Java 和 Script 这两个词分开!)。它们是完全不同的语言。 您需要客户的当地日期吗?可以选择使用服务器的日期吗?(new Date()).toLocaleDateString('en-GB')
实际上是根据 OP 的问题获得英国格式日期所需的全部内容。
【参考方案1】:
const monthNames = ["January", "February", "March", "April", "May", "June",
"July", "August", "September", "October", "November", "December"];
const dateObj = new Date();
const month = monthNames[dateObj.getMonth()];
const day = String(dateObj.getDate()).padStart(2, '0');
const year = dateObj.getFullYear();
const output = month + '\n'+ day + ',' + year;
document.querySelector('.date').textContent = output;
【讨论】:
对于大多数用途,将最后一行替换为“return today;” 这很有帮助,但证实了 Javascript 在返回格式化日期方面效率极低。必须编写多行代码才能做到这一点是不可思议的......new Date(Date.now()).toLocaleString();
date.toLocaleDateString('en-GB')
new Date(Date.now()).toLocaleString().split(',')[0]
仅适用于 dd/mm/yyyy 格式的当前日期。【参考方案2】:
老实说,我建议您使用moment.js。只需下载moment.min.js
,然后使用此 sn-p 以任何您想要的格式获取您的日期:
<script>
$(document).ready(function()
// set an element
$("#date").val( moment().format('MMM D, YYYY') );
// set a variable
var today = moment().format('D MMM, YYYY');
);
</script>
使用以下图表作为日期格式:
【讨论】:
简单有效的解决JavaScript中所有日期显示问题 从现在开始我一定会使用moment.js。使用起来非常简单且非常有效。 @Ali 非常感谢。 你可以像这样解析日期:moment('26/04/2016', 'DD/MM/YYYY').format('YYYY-MM-DD'); btw moment.js 不是一个小库 对于那些想要类似功能但占用空间更小的人来说,Day.js 非常棒! npmjs.com/package/dayjs【参考方案3】:<input type="hidden" id="date"/>
<script>document.getElementById("date").value = new Date().toJSON().slice(0,10)</script>
【讨论】:
d.toJSON().slice(0,10).split('-').reverse().join('/') 对于我们这些需要 ISO 格式日期的人来说,@Gaurav 解决方案的替代方案:new Date().toJSON().slice(0,10).replace(/-/g,'/')
new Date(Date.now()).toLocaleString().split(',')[0]
date.toLocaleDateString('en-GB');
格式化为 dd/mm/yyyy new Date().toJSON().slice(0,10).split('-').reverse().join('/')
【参考方案4】:
通过使用 value 属性:
var today = new Date();
document.getElementById('DATE').value += today;
【讨论】:
【参考方案5】:在 javascript 中获取当前日期/时间:
var date = new Date();
如果您需要毫秒来轻松进行服务器端解释使用
var value = date.getTime();
如需将日期格式化为用户可读的字符串,请参阅this
然后只写隐藏字段:
document.getElementById("DATE").value = value;
【讨论】:
或者只是document.getElementById('DATE').value = (new Date()).getTime();
new Date().toJSON().slice(0,10).split('-').reverse().join('/') 对我有用。【参考方案6】:
使用 DOM 的 getElementByid
方法:
document.getElementById("DATE").value = "your date";
可以使用Date
类进行日期:
d = new Date();
(提示:在 Chrome 或 Firefox 的 Firebug 扩展中安装一个 javascript 控制台。它使您可以使用 DOM 和 Javascript)
【讨论】:
【参考方案7】:您可以通过编辑元素的value
属性来编辑它的.value
属性。
document.getElementById('DATE').value = 'New Value';
【讨论】:
以上是关于如何在Javascript中获取当前格式化日期dd/mm/yyyy并将其附加到输入[重复]的主要内容,如果未能解决你的问题,请参考以下文章
js根据两个日期获取它们之间的所有日期。格式都为yyyy-MM-dd。(必须js)
如何在java中获取像yyyy-mm-dd am这样的日期格式[重复]
javascript 如何调用当前日期(YYYY-MM-DD)?