收藏
回答

恕我直言,云开发的ServerDate()是很烂的设计?

根本就不是Date类型,在云端获取到的是object类型。 读取到本地变成String,还是格林尼治时间。形如“2020-09-08T10:02:25.200Z”。还得手动转换成Date类型和时区。 最关键的是没办法比较2个时间的前后,2个ServerDate自己都没办法比较。 自作聪明的设计

回答关注问题邀请回答
收藏

2 个回答

  • Jacob
    Jacob
    2020-09-08

    虽然没用过,但听你这么一说,感觉挺蛋疼的

    2020-09-08
    有用 1
    回复
  • 智民
    智民
    2021-03-04

    还是自己查找资料转一个靠谱点

    var m={};
    /**
    * 时间戳转时间
    * @param  {timeNumber}  {number}  时间戳,为空或0,则返回当前时间
    * @return array
    */
    m.timeToString=function(timeNumber) {
        if (!timeNumber) timeNumber=Date.parse(new Date());
        var now=new Date(timeNumber);
        var   year=now.getFullYear();
        var   month=(now.getMonth()+1).toString();
        if (month.length==1) {month='0'+month;}
        var   day=now.getDate().toString();
        if (day.length==1) {day='0'+day;}
        var   hour=now.getHours().toString();
        if (hour.length==1) {hour='0'+hour;}
        var   minute=now.getMinutes().toString();
        if (minute.length==1) {minute='0'+minute;}
        var   second=now.getSeconds().toString();
        if (second.length==1) {second='0'+second;}
        return   year+"-"+month+"-"+day+" "+hour+":"+minute+":"+second;
    }
    
    
    /**
    * 时间转时间戳
    * @param  {timeString}  {string}  日期字符串,如:2020-12-12 12:00:00
    * @return array
    */
    m.timeToNumber=function(timeString) {
        if (!timeString) timeString=m.timeToString('');
        timeString=timeString.replace(/\-/gim,'/');/*时间格式转斜杠,否则不ios不兼容*/
        var timestamp = Date.parse(new Date(timeString));
        return timestamp;
    }
    module.exports = m;
    
    2021-03-04
    有用
    回复
登录 后发表内容
问题标签