之前开发小程序上的一个功能的时候,需要自定义时间,比如需要创建2018年1月1日12点0分0秒,就会这样
var date = new Date("2018-01-01 12:00:00")刚开始测试的时候,在Android和小程序开发工具上都是没有问题的,但是后来在iOS上发现这样创建出来的date是null,经过修改,发现需要将时间格式设置为"yyyy-MM-ddTHH:mm:ss"这样的格式才行.,比如"2018-01-01T12:00:00"但是经过这样修改后,在移动端,会将时间创建为本地时间,而不是UTC时间,这样就会导致小程序的时间与服务器的时间相差8小时,经过查询,发现js的date对象有一个getTimezoneOffset()方法,该方法返回本地时间与格林威治标准时间 ( GMT ) 的分钟差,所以最后修改的代码如下var date = new Date("2018-01-01 12:00:00")date = new Date(date.getTime() + date.getTimezoneOffset() * 60000);但是目前还存在的一个问题是,在电脑上调试的时候,yyyy-MM-hhTdd:mm:ss生成的也是UTC时间,所以现在在手机上没问题,在电脑上的话,时间会相差8小时,不过现在先以手机为准,后面再继续调试优化吧.小程序













