Javascript 格式化时间-1小时,多小时
我有一个工作正常的圣诞节倒计时钟,但是当它显示1小时时,它显示1小时而不是1小时 我知道这有点琐碎,但我希望它是正确的,并显示正确的文字 有人能帮忙吗 代码是Javascript 格式化时间-1小时,多小时,javascript,html,Javascript,Html,我有一个工作正常的圣诞节倒计时钟,但是当它显示1小时时,它显示1小时而不是1小时 我知道这有点琐碎,但我希望它是正确的,并显示正确的文字 有人能帮忙吗 代码是 <script language="javascript" type="text/javascript"> today = new Date(); BigDay = new Date("December 25, 2013") msPerDay = 24 * 60 * 60 * 1000 ; timeLe
<script language="javascript" type="text/javascript">
today = new Date();
BigDay = new Date("December 25, 2013")
msPerDay = 24 * 60 * 60 * 1000 ;
timeLeft = (BigDay.getTime() - today.getTime());
e_daysLeft = timeLeft / msPerDay;
daysLeft = Math.floor(e_daysLeft);
e_hrsLeft = (e_daysLeft - daysLeft)*24;
hrsLeft = Math.floor(e_hrsLeft);
minsLeft = Math.floor((e_hrsLeft - hrsLeft)*60);
document.write( "There's only "+daysLeft+" days, "+hrsLeft+" hours and "+minsLeft+" minutes left until Christmas!");
</script>
今天=新日期();
BigDay=新日期(“2013年12月25日”)
msPerDay=24*60*60*1000;
timeLeft=(BigDay.getTime()-today.getTime());
e_daysLeft=时间间隔/毫秒/天;
daysLeft=数学楼层(e_daysLeft);
e_hrsLeft=(e_daysLeft-daysLeft)*24;
hrsLeft=数学楼层(e_hrsLeft);
分钟左=数学楼层((e_hrsLeft-hrsLeft)*60);
写下(“离圣诞节只有“+daysLeft+”天“+hrsLeft+”小时和“+minsLeft+”分钟了!”);
非常感谢,布朗
function pluralize(num, str){
if(num > 1){
return num+' '+str+'s';
}
return num+' '+str;
}
使用
返回
20 hours
这是非常基本的,它存在于这个函数的更完整版本中
请参见此处以获取完整的(作为旁注,文档。编写)
这是一个使用JS的好地方
编辑:以上当然是很长的路要走,绝对不是大多数人喜欢的方式。您还可以使用三元运算符并执行以下操作:
var str = hours + (hours > 1 ? " hours " : " hour ") + "left!";
您需要添加一个if/else语句,用于在编写此行文档之前检查hrsLeft;如果hrsLeft<2,则文本需要是“document.write”(“离圣诞节只有“+daysLeft+”天“+hrsLeft+”小时和“+minsLeft+”分钟了!”);谢谢你的帮助,祝你圣诞快乐,新年快乐。谢谢你的帮助,祝你圣诞快乐,新年快乐。谢谢你的帮助,祝你圣诞快乐,新年快乐。。。。
var hoursStr = hrsLeft === 1 ? hrsLeft + 'hour' : hrsLeft + 'hours';
today = new Date();
BigDay = new Date("December 25, 2013");
msPerDay = 24 * 60 * 60 * 1000;
timeLeft = (BigDay.getTime() - today.getTime());
e_daysLeft = timeLeft / msPerDay;
daysLeft = Math.floor(e_daysLeft);
e_hrsLeft = (e_daysLeft - daysLeft) * 24;
hrsLeft = Math.floor(e_hrsLeft);
minsLeft = Math.floor((e_hrsLeft - hrsLeft) * 60);
document.write("There's only " + daysLeft + getDayText(daysLeft) + " , " + hrsLeft + getHourText(hrsLeft) + " and " + minsLeft + getMinuteText(minsLeft) + " left until Christmas!");
function getHourText(hour) {
if (hour > 1) {
return " hours";
}
return " hour";
}
function getMinuteText(min) {
if (min > 1) {
return " minutes";
}
return " minute";
}
function getDayText(day) {
if (day > 1) {
return " days";
}
return " day";
}
var str = hours + (hours > 1 ? " hours " : " hour ") + "left!";