我对 Java 脚本非常陌生,所以请耐心等待。我正在尝试编写一个脚本,该脚本将返回一个日期,并添加用户选择的天数。就返回值而言(在变量 expDate 中,但该值是长格式(即“Wed Jan 02 2013 00:00:00 GMT+0800 (HKT))”,它工作得很好。当我尝试时遇到了麻烦并使用 split 将其分解为不同的部分。现在我的输出只是空白。
任何帮助将不胜感激!
Javascript
<script type="text/javascript">
function setExpDate(){
var formDate = document.getElementById('startDate').value;
var number = +document.getElementById('days').value;
var interval = number;
var startDate = new Date(Date.parse(formDate));
var expDate = startDate;
expDate.setDate(startDate.getDate() + interval);
var splitDate = expDate.split(' ');
var monthFomatted = splitDate[1];
var dayFomatted = splitDate[2];
var yearFomatted = splitDate[3];
document.getElementById('total').innerHTML = monthFormatted;
document.getElementById('daysdays').innerHTML = Dateformatted;
};
</script>
</head>
HTML
<body>
<input type="text" size="10" maxlength="10" id="startDate" name="startDate" onblur="setExpDate(this.value)">
<select name="days" id="days" onchange="setExpDate(this.value)">
<option value="01">1</option>
<option value="02">2</option>
<option value="03">3</option>
<option value="04">4</option>
<option value="05">5</option>
<option value="06">6</option>
<option value="07">7</option>
</select>
<div id="total"></div> <br/><div id="daysdays"></div>
</body>
</html>
最佳答案
.split()
是一个 String
方法(即它适用于字符串),并且您尝试在 Date
上使用它对象。
你最好这样做
var monthFomatted = expDate.getMonth();
var dayFomatted = expDate.getDay();
var yearFomatted = expDate.getYear();
getMonth()
、getDay()
和 getYear()
是可用于 Date 对象的方法。
编辑
另请注意,您正在设置 monthFormatted
,然后访问 monthFormatted
,这是行不通的。检查以确保变量的命名一致。
关于Javascript Split() 函数不会返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22478226/