You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android设备使用Calendar获取时间戳出现异常格式,求识别格式类型

问题分析与解答

你看到的\u0662\u0660\u0662\u0664-\u0660\u0668-\u0660\u0665 \u0660\u0668:\u0662\u0661:\u0661\u0669是**阿拉伯-Indic数字(东阿拉伯数字)**的Unicode编码形式,转成实际字符后对应2024-08-05 08:21:19。

出现原因

你使用的SimpleDateFormat未指定固定区域设置(Locale),它会默认适配设备系统的区域配置。当设备系统语言为阿拉伯语等使用东阿拉伯数字的区域时,时间格式化后的数字部分会被替换为阿拉伯-Indic字符,这些字符的Unicode编码就是你看到的\u066x格式。

解决方法

如果需要固定输出阿拉伯数字(西阿拉伯数字),创建SimpleDateFormat时指定明确的Locale即可,示例代码如下:

val calendar = Calendar.getInstance()
val simpleDateFormat = SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.ENGLISH)
val currentTimeStamp = simpleDateFormat.format(calendar.time)

注:format方法本身返回的就是String类型,无需额外调用toString()。

内容的提问来源于stack exchange,提问作者WISHY

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 05:10:56