Skip to content

Safari 中的时间格式化坑 #25

@EmiyaGm

Description

@EmiyaGm

今天在写一个移动端 h5 的时候,发现在 ios 手机里做测试,不管是 new Date 还是用 moment 去处理格式为 yyyy-mm-dd HH:mm:ss 的时间时,怎么都无法获取到unix时间戳,怎么都是 null。
经过查询发现

http://stackoverflow.com/questions/4310953/invalid-date-in-safari

目前Safari可以支持的标准格式如下:

  • MM-dd-yyyy
  • yyyy/MM/dd
  • MM/dd/yyyy
  • MMMM dd, yyyy
  • MMM dd, yyyy

在 ECMA-262 标准文档中
http://www.ecma-international.org/publications/standards/Ecma-262.htm
可以看到,问题在于YYYY-MM-DD格式是包含在标准中的,只是Safari没有实现。

解决方法:

  1. 使用 DateJS 库
  2. 使用正则修改时间格式

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions