Android 下JS部分 Date.toLocaleString() 无效
发布于 6 年前 作者 chao58 17016 次浏览 来自 问答

代码非常短,代码片段已经提供。

js

const app = getApp()
Page({
  data: {
    datedisplay:"",
  },
  onLoad: function () {
    let d = new Date()
    this.setData({date:d})
    this.setData({datedisplay:d.toLocaleString()})
  },
})

wxml

<wxs module="util">
  function toLocal(time) {
    d = getDate(time)
    if (d == "Invalid Date") return ""
    return d.toLocaleString()
  }
  module.exports.toLocal = toLocal
</wxs>
 
<view class="intro"><text>
JS toLocaleString:
{{datedisplay}}
</text>
</view>
 
<view class="intro">
<text>
WXS toLocaleString:
{{util.toLocal(date)}}
</text></view>

做的事情也非常简单,对比js部分的Date.toLocaleString() 和wxs部分Date.toLocaleString()

安卓下截图:

iOS截图

BUG显而易见。很显然在安卓里,js框架内的Date对象toLocaleString()被简单地作为toString()处理了,其他toLocaleTimeString(), toLocaleDateString()都存在问题。这个问题非常久了,希望赶紧处理。这都是小程序框架基础函数级别的服务,有这种问题那么久没发现也是一个奇迹。

9 回复

还没有解决

同样遇到这个问题,官方还不给解释???

这个问题官方一直没有解决,要靠开发者自己处理字符串吗?

这个问题解决了吗?

一年过去了……一人血书求修复

同问。在安卓8.0.0版本上 date.toLocalString() 同样不好使

https://www.jianshu.com/p/90220a55f542

这里附一个帖子,是有热心网友在测试IOS和安卓部分版本下

JS系统函数的一些 支持/不支持的情况。

希望官方能快速解决这个问题。

2020年了。。。我还遇到这个坑呜呜呜呜呜呜呜

同样遇到这个问题,很烦!

没人在意?

回到顶部