网站首页 > java教程 正文
今天是软失业第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和安卓运行正常,如果需要测试,可以搜索这个小程序验证一下。
如你有类似问题,请参照上面的代码,或在下方留言。
猜你喜欢
- 2025-01-29 Python实战之数字、日期和时间的高级处理
- 2025-01-29 Java 8备受宠爱,HarmonyOS冲刺全球第三大操作系统,全民热议元宇宙|2021十大技术热词
- 2025-01-29 迄今为止最硬核的「Java8时间系统」设计原理与使用方法
- 2025-01-29 Java系统开发从入门到精通第四讲(文字版)
- 2025-01-29 SpringBoot中使用LocalDateTime踩坑记录
- 2025-01-29 Java定时任务大盘点:发工资也能“指日可待”
- 2025-01-29 如何统一处理 Spring Boot Web 请求的 JSON 日期格式
- 2025-01-29 探秘Java 8新的时间API(java 时间段)
- 2025-01-29 Java 记录类(Records):是否真的能简化数据模型?
你 发表评论:
欢迎- 最近发表
-
- Java常量定义防暴指南:从"杀马特"到"高富帅"的华丽转身
- Java接口设计原则与实践:优雅编程的艺术
- java 包管理、访问修饰符、static/final关键字
- Java工程师的代码规范与最佳实践:优雅代码的艺术
- 编写一个java程序(编写一个Java程序计算并输出1到n的阶乘)
- Mycat的搭建以及配置与启动(mycat部署)
- Weblogic 安装 -“不是有效的 JDK Java 主目录”解决办法
- SpringBoot打包部署解析:jar包的生成和结构
- 《Servlet》第05节:创建第一个Servlet程序(HelloSevlet)
- 你认为最简单的单例模式,东西还挺多
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)