如何比较两个没有年份的日期?只有一个月和一天

时间:2019-04-10 13:51:04

标签: javascript jquery html css javaquery

我有一个函数可以获取生日(仅日期和月份),并比较两个日期之间的日期 newsigndate是不确定的。为什么?以及AriesFrom和AriesTo。

该怎么办?

我想按天和月比较出生日期,例如21/3> 21/2

返回白羊座

谢谢

For Each elem As HtmlElement In WebBrowser1.Document.GetElementsByTagName("span")
        If elem.GetAttribute("className").Contains("rtbText") Then 'Get the InnerText of the Element End If
            MsgBox(elem.OuterText)
        End If
 Next

3 个答案:

答案 0 :(得分:0)

以下提示可能会有所不同:

与其考虑大量的日期范围,不如考虑范围的最后日期列表。现在,您可以浏览该列表,找到第一个大于或等于您的日期的列表。 (如果日期采用MMDD格式,则比较日期会更容易)。

实际上,执行此操作的一种方法是使用数组的find()函数将find的第一个日期大于指定日期的日期:

// list of signs and last cuttoff
let signs = [ [ 'Capricorn', '0119' ],
[ 'Aquarius', '0218' ],
[ 'Pisces', '0320' ],
[ 'Aries', '0420' ],
[ 'Taurus', '0521' ],
[ 'Gemini', '0621' ],
[ 'Cancer', '0722' ],
[ 'Leo', '0822' ],
[ 'Virgo', '0921' ],
[ 'Libra', '1022' ],
[ 'Scorpio', '1121' ],
[ 'Sagittarius', '1220' ],
[ 'Capricorn', '1231' ] ]


// Jan 1
console.log(signs.find(s => s[1] >= '0101'))
// March 10
console.log(signs.find(s => s[1] >= '0310'))
// Sept 29
console.log(signs.find(s => s[1] >= '0929'))
// Dec 31
console.log(signs.find(s => s[1] >= '1231'))

现在,您只需要将输入转换为MMDD格式,并从find()返回的数组中提取符号

答案 1 :(得分:0)

在您的else中,如果将语句变量替换为这些js文件代码..我认为您的要求已满。谢谢。

app.js:

function yourSign() {

  var signDate = $("input[name='birthDate']").val();
  tempsignDate = signDate.split("-").join("/");
  newsignDate = tempsignDate.substring(5, 10);


  var AriesDateFrom = "03/21";
  var AriesDateTo = "04/20";

  var Ad1 = AriesDateFrom.split("/");
  var Ad2 = AriesDateTo.split("/");
  var s = newsignDate.split("/");

  if(newsignDate == "") {
    alert("enter birthday");

  } 
  else if(s >= Ad1 && s < Ad2) {
    //$("#output").val("Aries");
    alert("Aries");
  }
  else
  {
    alert("not between");
  }}

HTML文件:

<form>
    <input type="date" name="birthDate">
    <input type="submit" name="submit" value="submit" onclick="yourSign();">
</form>

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script type="text/javascript" src="app.js"></script>

答案 2 :(得分:0)

谢谢!@bhavesh ajani而不是警报,我需要输出将在输出字段中。

<script>
function yoursign()
 if (s >= Ad1 && s < Ad2) {
output = "Aries";       

$("#output").val(output);

</script>
<body>

生日

        <button onclick="yourSign()" id="send">send</button><br />


        <label>yoursign: </label><br />

        <input type="text" name="output" id="output" />