如何在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)

以 dd-mm-yyyy 格式获取当前日期

如何在java中获取像yyyy-mm-dd am这样的日期格式[重复]

javascript 如何调用当前日期(YYYY-MM-DD)?

如何在 freemarker 语言中将当前日期格式(YYYY-MM-DD HH:MM:SS)转换为(YYMMDD)格式

怎样在 javascript 中获取格式为 yyyy-mm-dd 的日期字符串