Javascript 如何比较没有年份的两个日期?只有一个月和一天
我有一个函数,它可以获取生日(只有天和月),并比较它是否在两个日期之间 newsigndate未定义。为什么?还有AriesFrom和AriesTo 怎么办 我想根据日期和月份比较出生日期,例如21/3>21/2 对 返回白羊座 谢谢Javascript 如何比较没有年份的两个日期?只有一个月和一天,javascript,jquery,html,css,javaquery,Javascript,Jquery,Html,Css,Javaquery,我有一个函数,它可以获取生日(只有天和月),并比较它是否在两个日期之间 newsigndate未定义。为什么?还有AriesFrom和AriesTo 怎么办 我想根据日期和月份比较出生日期,例如21/3>21/2 对 返回白羊座 谢谢 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <script> function yourS
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script>
function yourSign() {
var signDate = $("input[name='birthDate']").val();
tempsignDate = signDate.split("-").join("/");
newsignDate = tempsignDate.substring(5, 10);
var AriesDateFrom = "21/03";
var AriesDateTo = "20/04";
var Ad1 = AriesDateFrom.split("/");
var Ad2 = AriesDateTo.split("/");
var s = newsignDate.split("/");
//var date = new Date().getDay() + "/" + new Date().getMonth() + 1
var AriesFrom = new Date(Ad1[1], Ad2[2]);
newsignDate = new Date(s[1], s[2]);
if (newsignDate == "") {
alert("enter birthday");
} else if (newsignDate >= AriesFrom && newsignDate < AriesTo) {
$("#output").val("Aries");
}
}
</script>
函数yourSign(){
var signDate=$(“输入[name='birthDate']”)val();
tempsignDate=signDate.split(“-”).join(“/”);
newsignDate=tempsignDate.substring(5,10);
var AriesDateFrom=“21/03”;
var AriesDateTo=“20/04”;
var Ad1=AriesDateFrom.split(“/”);
var Ad2=AriesDateTo.split(“/”);
var s=newsignDate.split(“/”);
//变量日期=新日期().getDay()+“/”+新日期().getMonth()+1
var AriesFrom=新日期(Ad1[1],Ad2[2]);
newsignDate=新日期(s[1],s[2]);
如果(newsignDate==“”){
警惕(“输入生日”);
}else if(newsignDate>=AriesFrom&&newsignDate
这里有一个小提示,可以帮助您以不同的方式思考这个问题:
与其考虑一堆日期范围,不如考虑该范围内最后日期的列表。现在,您可以浏览该列表并找到第一个大于或等于您的日期的列表。(比较日期更容易,因为它们是MMDD
格式)
在实践中,一种方法是使用数组的find()
函数查找比给定日期大的第一个日期:
//标志和最后截止日期列表
让符号=['摩羯座','0119'],
[‘宝瓶座’、‘0218’],
[‘双鱼座’、‘0320’],
[‘白羊座’、‘0420’],
[‘金牛座’、‘0521’],
[‘双子座’、‘0621’],
[‘癌症’、‘0722’],
[Leo','0822'],
[处女座,0921'],
[‘天秤座’、‘1022’],
[‘天蝎座’、‘1121’],
射手座,1220年,
[‘摩羯座’、‘1231’]]
//1月1日
console.log(signs.find(s=>s[1]>='0101'))
//三月十日
console.log(signs.find(s=>s[1]>='0310'))
//9月29日
console.log(signs.find(s=>s[1]>='0929'))
//12月31日
console.log(signs.find(s=>s[1]>='1231'))
这里有一个小技巧,可以帮助您以不同的方式思考这个问题:
与其考虑一堆日期范围,不如考虑该范围内最后日期的列表。现在,您可以浏览该列表并找到第一个大于或等于您的日期的列表。(比较日期更容易,因为它们是MMDD
格式)
在实践中,一种方法是使用数组的find()
函数查找比给定日期大的第一个日期:
//标志和最后截止日期列表
让符号=['摩羯座','0119'],
[‘宝瓶座’、‘0218’],
[‘双鱼座’、‘0320’],
[‘白羊座’、‘0420’],
[‘金牛座’、‘0521’],
[‘双子座’、‘0621’],
[‘癌症’、‘0722’],
[Leo','0822'],
[处女座,0921'],
[‘天秤座’、‘1022’],
[‘天蝎座’、‘1121’],
射手座,1220年,
[‘摩羯座’、‘1231’]]
//1月1日
console.log(signs.find(s=>s[1]>='0101'))
//三月十日
console.log(signs.find(s=>s[1]>='0310'))
//9月29日
console.log(signs.find(s=>s[1]>='0929'))
//12月31日
console.log(signs.find(s=>s[1]>='1231'))
如果语句变量替换为这些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");
}}
函数yourSign(){
var signDate=$(“输入[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(“/”);
如果(newsignDate==“”){
警惕(“输入生日”);
}
如果(s>=Ad1&&s
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>
在else if语句中,用这些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");
}}
函数yourSign(){
var signDate=$(“输入[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(“/”);
如果(newsignDate==“”){
警惕(“输入生日”);
}
如果(s>=Ad1&&s
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>
谢谢@bhavesh ajani,而不是alert,我需要输出在输出字段中
<script>
function yoursign()
if (s >= Ad1 && s < Ad2) {
output = "Aries";
$("#output").val(output);
</script>
<body>
函数yoursign()
如果(s>=Ad1&&s
生日
<button onclick="yourSign()" id="send">send</button><br />
<label>yoursign: </label><br />
<input type="text" name="output" id="output" />
发送
您的签名:
谢谢!@bhavesh ajani我需要的不是提醒,而是输出将在输出字段中
<script>
function yoursign()
if (s >= Ad1 && s < Ad2) {
output = "Aries";
$("#output").val(output);
</script>
<body>
函数yoursign()
如果(s>=Ad1&&s
生日
<button onclick="yourSign()" id="send">send</button><br />
<label>yoursign: </label><br />
<input type="text" name="output" id="output" />
发送
您的签名:
你不能,因为二月在闰年有不同的天数,所以你需要一年才能准确……或者,只选择非闰年,大部分时间都是正确的。你不能,因为二月在闰年有不同的天数,所以你需要一年才能准确……或者,只选择非闰年,大部分时间都是正确的e time谢谢!我需要的不是警告,而是输出将在输出字段中。否则如果(s>=Ad1&&s
send
yoursign:
确定