首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JavaScript -使用自定义格式从html输入类型日期和时间获取值。

JavaScript -使用自定义格式从html输入类型日期和时间获取值。
EN

Stack Overflow用户
提问于 2016-12-12 17:38:07
回答 3查看 5.8K关注 0票数 0

抱歉,又问了一个问题,

我试图从html输入类型日期和时间中获取值,但我似乎遇到了一些问题,需要你们中的任何人提供一些指导。

我在这里试图做的是,当任何用户选择日期时,它将使用"MM-DD“格式填充值。

例如,

代码语言:javascript
复制
<input type="date" name="departure_1" id="depature_1" />
<input type="date" name="arrival_2" id="arrival_2" />

输出应该类似于:

出发日期: 10-24抵达日期: 11-24

到目前为止,我已经知道了,我可以做一些类似于下面的事情来更改日期格式,但是我似乎无法想出在函数中实现这一点的方法,并得到我正在寻找的东西。

代码语言:javascript
复制
var result = enteredDate.getMonth() + "" + enteredDate.getDate()

任何帮助都将不胜感激。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-12-13 00:11:19

并不是所有浏览器都支持输入日期,但我将让您处理。对于那些支持它的人,这个值是按照ISO 8601,即yyyy格式化的。如果将其传递给日期构造者,它将被视为UTC,因此对于格林威治以西的用户来说,日期似乎是前一天,例如,美国东海岸的用户在19时的2016-12-11日。

但是,如果您只想将日期显示为mmdd,则根本不需要日期对象,只需重新格式化字符串:

代码语言:javascript
复制
function showMMDD(d) {
  var b = d.split('-')
  var el = document.getElementById('formatedDate');
  if (el) {
    el.textContent = b[1] + '-' + b[2];
  }
}
代码语言:javascript
复制
<input type="date" value="2016-12-15" onblur="showMMDD(this.value)">
<p>Date as mm-dd: <span id="formatedDate"></span></p>

票数 0
EN

Stack Overflow用户

发布于 2016-12-12 17:54:14

因此,让它成为一个函数,记住JS中的月份数从0开始,您需要用一个前导零来填充。

代码语言:javascript
复制
var result = getMMDD(document.getElementById("dateinput").valueAsDate);

function getMMDD(date) {
   return ("0" + (date.getMonth() + 1)).slice(-2) + "-" + ("0" + date.getDate()).slice(-2)
}
票数 0
EN

Stack Overflow用户

发布于 2016-12-12 17:52:18

你必须这么做

代码语言:javascript
复制
var result = new Date(enteredDate).getMonth()+1+""+ new Date(enteredDate).getDate()
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41106415

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档