最近发现new Date()格式化在Chrome显示正常,但是在Safari中就有问题,在网上搜集资料,发现有三种解决办法,整理如下:

第一,用正则表达式做简单的匹配有两种方式:

1.  如果只有个别JS文件,建议采用这种方式

new Date('2017-03-12'.replace(/-/g, "/")).format("yyyy-MM-dd hh:mm");

2. 提取一个共同的方法

function parseDate(input) {var parts = input.match(/(\d+)/g);return new Date(parts[0], parts[1]-1, parts[2]);
}parseDate('2011-01-03'); // Mon Jan 03 2011 00:00:00

参照如下:new Date() using Javascript in Safari

new Date() using Javascript in Safari

up vote10down votefavorite

3

I'm having an issue using the new Date() function in Javascript. Safari is giving me an "Invalid Date" message.

I've created a short example at jsbin.

This appears to work on all other browsers, but not Safari. Any ideas on how I can take the value from an input (such as 2011-01-03) and turn it into a date object, while having it work properly in Safari?

Many thanks!

javascript jquery date safari new-operator
shareeditflag
edited Jan 7 '11 at 5:48
asked Jan 7 '11 at 5:21
Dodinas

2,192175489

 
add a comment
 
start a bounty

4 Answers

activeoldestvotes

up vote36down voteaccepted

The date parsing behavior on JavaScript is implementation-dependent, the ISO8601 format was recently added to the ECMAScript 5th Edition Specification, but this is not yet supported by all implementations.

I would recommend you to parse it manually, for example:

function parseDate(input) {var parts = input.match(/(\d+)/g);return new Date(parts[0], parts[1]-1, parts[2]);
}parseDate('2011-01-03'); // Mon Jan 03 2011 00:00:00

Basically the above function matches each date part and uses the Date constructor, to build a date object, note that the months argument needs to be 0-based (0=Jan, 1=Feb,...11=Dec).

shareeditflag
answered Jan 7 '11 at 6:45
CMS

469k129769772

 
 
This did it. Thanks for the clarification. – Dodinas Jan 7 '11 at 8:01

第二,引入DateJS格式化标准日期库   参考:DateJS

var currentDate = Date.parseExact("2017-01-12", "dd-MM-yyyy");

Safari中new Date()格式化问题总结相关推荐

  1. JS IOS/iPhone的Safari浏览器不兼容Javascript中的Date()问题的解决方法

    JS IOS/iPhone的Safari浏览器不兼容Javascript中的Date()问题的解决方法 参考文章: (1)JS IOS/iPhone的Safari浏览器不兼容Javascript中的D ...

  2. java中的时间戳sssss_Golang中使用Date进行日期格式化(沿用Java风格)

    本文介绍了Golang中使用Date进行日期格式化,分享给大家,具体如下: Date Date是一个基于time包装的一个日期包,通过此包可以快速创建日期.获取时间戳.毫秒数及最重要的日期格式化,另外 ...

  3. JS中Safari浏览器中的Date

    在js中处理Date时,发现Safair和其他浏览器的支持方式不一致 1.例如:2021-12-08 11:00:00 在其他浏览器中,使用这个格式的字符串进行new Date操作没问题,但是在Saf ...

  4. PHP date 格式化一个本地时间/日期

    2019独角兽企业重金招聘Python工程师标准>>> date (PHP 4, PHP 5) date - 格式化一个本地时间/日期 说明 string date ( string ...

  5. mysql 20小时内,mysql中关于date(Y-m-d H:i:s) 入库慢8小时的解决

    原来从php5.1.0开始,php.ini里加入了date.timezone这个选项,默认情况下是关闭的.每次在插入库时,发现这个registration_date datetime 总是慢了8小时. ...

  6. 如何在Java 8中使用LocalDateTime格式化/解析日期-示例教程

    Java项目中的常见任务之一是将日期格式化或解析为String,反之亦然. 解析日期表示您有一个表示日期的字符串,例如" 2017-08-3",并且要将其转换为表示Java中日期的 ...

  7. java oracle to date_用TRUNC和TO_DATE截斷oracle中的java格式化日期()

    當談到Oracle時,我並不是一個特別優秀的人,因爲我對數據庫的大部分經驗都來自SQL服務器.用TRUNC和TO_DATE截斷oracle中的java格式化日期() 我有一個java日期,我想轉換爲只 ...

  8. javascript中的Date类型

    1.JavaScript中的Date表示日期时间. 2.new Date()返回日期对象,是本地时间 3.Date.parse()接受一个时间字符串返回时间戳.也是本地时间,所以Date.parse( ...

  9. VB中的format格式化函数

    VB Format函数 Format[$] ( expr [ , fmt ] ) format 返回变体型 format$ 强制返回为文本 - - - - - - - - - - - - - - - ...

最新文章

  1. 服务器内存使用率高找不到是哪个进程,内存占用率高,但是找不到内存消耗大的程序...
  2. 父子组建传值_父子组件及兄弟组件传值demo
  3. Go语言之标志符可见性
  4. 瑞芯微最新智能音箱低成本方案RK2108
  5. C# 函数式编程:LINQ
  6. strcpy函数_错误更正(拷贝赋值函数的正确使用姿势)
  7. 中国数学会副理事长田刚委员:建议从四个方面加强教师队伍建设
  8. pipeline 发布war包
  9. 【Windows Phone设计与用户体验】关于移动产品的Loading用户体验的思考
  10. 三菱MX Component通信应用
  11. 米4用linux刷机救转,小米4变砖之后如何刷机自救?大神教你小米4线刷救砖方法...
  12. VAX 的使用快捷键
  13. java 抛体运动6_抛体运动的公式
  14. 腾讯华为签署《深圳市APP个人信息保护自律承诺书》举措新解读
  15. 告别2016迎接2017,分享一些第三方插件
  16. Android 复杂的手势处理利用GestureOverView
  17. spark配置elasticsearch属性汇总(基于es7)
  18. C++中fstream的用法
  19. 配置容错组件 Sentinel(五)
  20. 虚拟化技术详解——少年想自己做个虚拟机吗?

热门文章

  1. JAVA算法练习(5):错误票据
  2. php 线程池 thread,c++,thread_使用C++实现线程池报错,std::thread,c++,thread - phpStudy
  3. Linux中没有rc.local文件的解决方法
  4. 再见 Wordpress!这个Java开源建站神器有点吊
  5. css3 渐变色与透明背景图片组合背景
  6. 微积分、概率与数理统计、线性代数谁更重要?
  7. Access数据库的使用
  8. 电脑怎么设置定时关机?分享2个简单操作!
  9. jsp+ssm计算机毕业设计班级班费缴纳及使用情况管理【附源码】
  10. stm32毕业设计 智能门禁系统