Javascript Date()函数在Safari(iOS)中不起作用 [英] Javascript Date() function not working in Safari (iOS)
本文介绍了Javascript Date()函数在Safari(iOS)中不起作用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在使用Date()函数获取当前日期并将其与另一个日期进行比较.
I am using Date() function to get current date and compare it to another date.
它可以在Android和Web上正常运行,但不能在iOS上运行.
It's working fine with Android and web but it's not working in iOS .
我的代码是:
function daytogo()
{
var status = document.getElementById('dmy_status').getAttribute('value');
if(status =='C')
{
var event_status="Event has been cancelled";
}
else if(status =='P')
{
var event_status="Event postponed ! Waiting for new date";
}
else
{
/*START OF CALCULATING DATE DIFFERENCE*/
var oneDay = 24*60*60*1000; // hours*minutes*seconds*milliseconds
var a = document.getElementById('dmy_strt').getAttribute('value');
var b = document.getElementById('dmy_end').getAttribute('value');
//var firstDate = new Date(2008,01,12);
// alert(b);
//alert(firstDate);
var today = new Date();
var dd = today.getDate();
var mm = today.getMonth()+1; //January is 0!
var yyyy = today.getFullYear();
if(dd<10) {
dd='0'+dd
}
if(mm<10) {
mm='0'+mm
}
today = yyyy+','+mm+','+dd;
// document.write(today);
var firstDate = new Date(a);
var secondDate = new Date(today);
var enddate=new Date(b);
console.log(firstDate);
console.log(secondDate);
// alert(today);
// var diffDays = Math.abs((firstDate.getTime() - secondDate.getTime())/(oneDay));
// alert(diffDays);
if(firstDate > secondDate)
{
alert("if");
var event_status='';
var diffDays = Math.abs((firstDate.getTime() - secondDate.getTime())/(oneDay));
//alert(diffDays);
if(diffDays <=30 )
{
event_status=diffDays + " days to go";
}
else
{
event_status=(diffDays /30);
event_status=(event_status.toString().split(".")[0])+ ' months to go'; ///before
//alert(event_status.toString().split(".")[1]); ///after
}
}
else if(firstDate <= secondDate && enddate >= secondDate)
{
alert("else if");
var event_status='Ongoing';
}
else
{
alert("else");
var event_status="Event has expired";
//document.getElementById("days_to_go").innerHTML = event_status;
}
//var elements = document.getElementsByClassName('dmy_strt')[0].value;
/*END OF THE DATE DIFFERENCE*/
/*START OF EVENT STATUS */
}
document.getElementById("days_to_go").innerHTML = event_status;
日期格式为-'YYYY,mm,dd' 并且我也尝试了"YYYY/mm/dd"格式.
And date format is - 'YYYY,mm,dd' and I have tried 'YYYY/mm/dd' format also.
但是在iOS情况下,总是会出现其他情况(var event_status =事件已过期";).
But in case of iOS it's going to else case always (var event_status="Event has expired";).
我该如何解决?
推荐答案
有四种初始化日期的方法:
There are 4 ways of initiating a date:
new Date()
new Date(milliseconds)
new Date(dateString)
new Date(year, month, day, hours, minutes, seconds, milliseconds)
您没有关注任何一个.阅读日期对象的基础.
You don't follow any of them. Read the basics of Date object.
这篇关于Javascript Date()函数在Safari(iOS)中不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文