前言:
目前姐妹们对“javascript万年历代码”大致比较讲究,大家都想要剖析一些“javascript万年历代码”的相关内容。那么小编也在网摘上搜集了一些关于“javascript万年历代码””的相关内容,希望大家能喜欢,大家快快来了解一下吧!今天是软失业第2天,在开发一个日历相关的微信小程序,以作为备选退路。
需求:获取今天及今天以后7天的日期,做为一个日期范围;
结果:1)PC开发机上正常;2)安卓真机上也正常;但在IOS真机下无法获取时间,表现为NaN-NaN-NaN
因为之前做C++和安卓JAVAV,没有JS(JAVASCRIPT)经验,感觉非常的奇怪,于是打了很多日志,最终定位问题在IOS与安卓的日期格式不一样,同时还有日期要加上时间,否则计算不准确。
1.日期格式:
即安卓可以将日期字符串表示为2021-12-30,2021/12/30 ,但IOS只能表示为2021/12/30;
2.日期格式要加上时间,
这一点需要特别注意,在日期字符串转换时一定要加上时间,即 "2021/12/31 00:00:00" 否则加上N天后,并日期会不准确!
JAVASCRIPT代码如下:
var startDayIos = formatDateString( 2021 , 12, 30 ,'/' );//兼容IOS的时间运算
var date = new Date( startDayIos +" 00:00:00" ); //防止日期不准确
date = dateAddDay( date , 7 ) ;
var endDay = comm.formatDateEx( date.getFullYear() , date.getMonth() + 1 , date.getDate() );
//格式化字符串
//year - 数字年,
//month - 数字月
//day - 数字日
//spliter - 分隔符,需要用'/'
function formatDateString(year , month , day , spliter ) {
var strFullDate = year + spliter ;
if ( month < 10 ){
strFullDate = strFullDate + "0" ;
}
strFullDate = strFullDate + month + spliter;
if ( day < 10 ){
strFullDate = strFullDate + "0";
}
strFullDate = strFullDate + day;
return strFullDate;
}
//时间加上
//date - date 时间
//days - 增加的天数,如果过去的时间,用负数表示,比如-7
function dateAddDay(date , days) {
var d = Date.parse( new Date(date));
d = +d + 1000*60*60*24*days;
d = new Date(d);
return d ;
}
以上代码是从程序中COPY下来的,可以直接使用。
下面来看功能截图,
点击今日限行,需要列出后7天的限行信息,如下图:
以上代码在IOS和安卓运行正常,如果需要测试,可以搜索这个小程序验证一下。
如你有类似问题,请参照上面的代码,或在下方留言。
#微信小程序# #每日学习 JavaScript# #日期# #万年历#
标签: #javascript万年历代码