簡體   English   中英

如果生日是過去、今天或未來在 Javascript 中的自定義消息

[英]Customized message if birthday is in the past, today or future in Javascript

我對 Javascript 很陌生,無法弄清楚以下內容:

1) 要求用戶提交他們的完整生日(不僅僅是年份),然后計算他們的生日是否已經在今年、今天或今年即將到來。

2)根據這三種可能的結果(例如/“你今年已經過生日”、“今天是你的生日”、“你的生日快到了”)獲取自定義消息來顯示

我知道它一定很簡單,但我已經用谷歌搜索了幾天,無法弄清楚。

到目前為止我所擁有的:

 function getAge(birth){ var today = new Date(); var nowYear = today.getFullYear(); var nowMonth = today.getMonth(); var nowDay = today.getDate(); var birthYear = birth.getFullYear(); var birthMonth = birth.getMonth(); var birthDay = birth.getDate(); var age = nowYear - birthYear; var age_month = nowMonth - birthMonth; var age_day = nowDay - nowDay - birthDay; if (age_month < nowMonth || age_date < nowday) { age = parseInt(age) -1; } alert("your birthday just happened"); }

VaguelyExotic 我認為這可以幫助你!

它提示用戶輸入他/她的出生日期。 將月+日與當前月+日進行比較,並相應地顯示消息。

編輯 - 這是一個更簡單的版本,可幫助您了解解決問題所需的步驟,它假設用戶總是要正確輸入日期並且沒有異常處理。 所以請隨意改進這一點。 只為您啟動自己的版本。

 function getAge(){ var today = new Date(); var nowYear = today.getFullYear(); var nowMonth = today.getMonth(); var nowDay = today.getDate(); var birth = prompt("When were you born?", "YYYY-MM-DD"); var birth = new Date(parseInt(birth.substring(0,4)),parseInt(birth.substring(5,7))-1,parseInt(birth.substring(8,10))); var birthYear = birth.getFullYear(); var birthMonth = birth.getMonth(); var birthDay = birth.getDate(); var compBirth = birthMonth.toString() + birthDay.toString(); var compToday = nowMonth.toString() + nowDay.toString(); if( compBirth == compToday) { alert('Today is your birthday!'); } else if ( compBirth > compToday){ alert('Your birthday is comming!'); } else { alert('Happy b-lated day!'); } } getAge();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM