您好,我是Java语言的一个新手,我需要编写一个允许某人输入日期的代码,这将导致该日期所在的季节。我不知所措,如果不是这样的话?就我所知,谢谢大家的时间!

<body>
<h1>Date to Season</h1>
<p align="left">Enter Date:
<input id="season" maxlength="4" size="24"/>
</p>
<input type="button" value="Submit" onclick="Submit()"/><br/>
<textarea cols="40" rows="3" id="output"></textarea></body>

<script type="text/javascript">
function Submit(){
var date = document.getElementById('season').value;
var seasons =

if (

最佳答案

请注意,有一些更明智的方法(例如,使用日期对象),这可能会更有用/更灵活,尤其是如果您想确定实际的季节开始/结束日期(例如3月28日) )。这仅仅是为了展示一个起点。

这是一个非常简单的示例,使用swtich()根据数字月份返回季节:

http://jsfiddle.net/RtC58/

<form name="date">
 <input type="text" name="month"/>
 <input type="button" value="Season?" onClick="getSeason()"/>
</form>

function getSeason() {
    month = document.forms.date.month.value;
    season = '';
    switch(month) {
        case '12':
        case '1':
        case '2':
            season = 'winter';
        break;
        case '3':
        case '4':
        case '5':
            season = 'spring';
        break;
        case '6':
        case '7':
        case '8':
            season = 'summer';
        break;
        case '9':
        case '10':
        case '11':
            season = 'fall';
        break;
    }
    alert(season);
}

这是一个更复杂的示例,显示了短/长月份以及数字月份。

http://jsfiddle.net/RtC58/1/
function getSeason() {
    month = document.forms.date.month.value.toLowerCase();
    season = 'unknown';
    switch(month) {
        case 'dec':
        case 'december':
        case '12':
        case 'jan':
        case 'january':
        case '1':
        case 'feb':
        case 'february':
        case '2':
            season = 'winter';
        break;
        case 'mar':
        case 'march':
        case '3':
        case 'apr':
        case 'april':
        case '4':
        case 'may':
        case '5':
            season = 'spring';
        break;
        case 'jun':
        case 'june':
        case '6':
        case 'jul':
        case 'july':
        case '7':
        case 'aug':
        case 'august':
        case '8':
            season = 'summer';
        break;
        case 'sep':
        case 'september':
        case '9':
        case 'oct':
        case 'october':
        case '10':
        case 'nov':
        case 'november':
        case '11':
            season = 'fall';
        break;
    }
    alert(season);
}

稍微不同的方法可能是为季节创建变量,使用if/else语句(如OP所需要的示例),并在其中一个变量中找到月份值的“索引”(请注意,我添加了, [逗号]到月底消除歧义1从12和1从0,等等...)。

http://jsfiddle.net/RtC58/3/
function getSeason() {
    month = document.forms.date.month.value.toLowerCase()+",";
    winter = 'dec,december,jan,january,feb,february,12,1,2,';
    spring = 'mar,march,apr,april,may,3,4,5,';
    summer = 'jun,june,jul,july,aug,august,6,7,8,';
    fall = 'sep,september,oct,october,nov,november,9,10,11,';
    season = 'unknown';
    if (winter.indexOf(month) != -1) {
        season = 'winter';
    } else if (spring.indexOf(month) != -1) {
        season = 'spring';
    } else if (summer.indexOf(month) != -1) {
        season = 'summer';
    } else if (fall.indexOf(month) != -1) {
        season = 'fall';
    }
    alert(season);
}

关于javascript - Javascript编码: Input a specific date,输出季节,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5670678/

10-11 06:47