Android 下JS部分 Date.toLocaleString() 无效

发布于 8 年前作者 chao5817209 次浏览最后编辑 8 年前来自 ask

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

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 回复
chenqiang
chenqiang1 楼6 年前

还没有解决

ming86
ming862 楼6 年前

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

min94
min943 楼6 年前

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

xiuying61
xiuying614 楼6 年前

这个问题解决了吗?

guiyingyu
guiyingyu5 楼6 年前

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

chaoduan
chaoduan6 楼6 年前

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

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

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

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

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

fqiao
fqiao7 楼6 年前

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

guiying85
guiying858 楼6 年前

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

zoujun
zoujun9 楼6 年前

没人在意?