javascript 日期字符串 转换函数

本文介绍了一个JavaScript函数,用于将字符串格式的日期解析为Date对象,并提供了另一种函数将Date/String类型转换回格式化的字符串。支持多种日期格式,如'2006-1-1'或'2006-1-1 15:14:16'等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Js代码 1./*将String类型解析为Date类型. 2. parseDate('2006-1-1') return new Date(2006,0,1) 3. parseDate(' 2006-1-1 ') return new Date(2006,0,1) 4. parseDate('2006-1-1 15:14:16') return new Date(2006,0,1,15,14,16) 5. parseDate(' 2006-1-1 15:14:16 ') return new Date(2006,0,1,15,14,16); 6. parseDate('2006-1-1 15:14:16.254') return new Date(2006,0,1,15,14,16,254) 7. parseDate(' 2006-1-1 15:14:16.254 ') return new Date(2006,0,1,15,14,16,254) 8. parseDate('不正确的格式') retrun null 9.*/ 10.function parseDate(str){ 11. if(typeof str == 'string'){ 12. var results = str.match(/^ *(/d{4})-(/d{1,2})-(/d{1,2}) *$/); 13. if(results && results.length>3) 14. return new Date(parseInt(results[1]),parseInt(results[2]) -1,parseInt(results[3])); 15. results = str.match(/^ *(/d{4})-(/d{1,2})-(/d{1,2}) +(/d{1,2}):(/d{1,2}):(/d{1,2}) *$/); 16. if(results && results.length>6) 17. return new Date(parseInt(results[1]),parseInt(results[2]) -1,parseInt(results[3]),parseInt(results[4]),parseInt(results[5]),parseInt(results[6])); 18. results = str.match(/^ *(/d{4})-(/d{1,2})-(/d{1,2}) +(/d{1,2}):(/d{1,2}):(/d{1,2})/.(/d{1,9}) *$/); 19. if(results && results.length>7) 20. return new Date(parseInt(results[1]),parseInt(results[2]) -1,parseInt(results[3]),parseInt(results[4]),parseInt(results[5]),parseInt(results[6]),parseInt(results[7])); 21. } 22. return null; 23.} 24. 25./* 26. 将Date/String类型,解析为String类型. 27. 传入String类型,则先解析为Date类型 28. 不正确的Date,返回 '' 29. 如果时间部分为0,则忽略,只返回日期部分. 30.*/ 31.function formatDate(v){ 32. if(typeof v == 'string') v = parseDate(v); 33. if(v instanceof Date){ 34. var y = v.getFullYear(); 35. var m = v.getMonth() + 1; 36. var d = v.getDate(); 37. var h = v.getHours(); 38. var i = v.getMinutes(); 39. var s = v.getSeconds(); 40. var ms = v.getMilliseconds(); 41. if(ms>0) return y + '-' + m + '-' + d + ' ' + h + ':' + i + ':' + s + '.' + ms; 42. if(h>0 || i>0 || s>0) return y + '-' + m + '-' + d + ' ' + h + ':' + i + ':' + s; 43. return y + '-' + m + '-' + d; 44. } 45. return ''; 46.}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值