Javascript 解析,格式化日期 (转)
转自:http://gwbasic.iteye.com/blog/36904
1/**//*
2 将String类型解析为Date类型.
3 parseDate('2006-1-1') return new Date(2006,0,1)
4 parseDate(' 2006-1-1 ') return new Date(2006,0,1)
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 ') return new Date(2006,0,1,15,14,16);
7 parseDate('2006-1-1 15:14:16.254') return new Date(2006,0,1,15,14,16,254)
8 parseDate(' 2006-1-1 15:14:16.254 ') return new Date(2006,0,1,15,14,16,254)
9 parseDate('不正确的格式') retrun null
10*/
11function parseDate(str){
12 if(typeof str == 'string'){
13 var results = str.match(/^ *(\d{4})-(\d{1,2})-(\d{1,2}) *$/);
14 if(results && results.length>3)
15 return new Date(parseInt(results[1]),parseInt(results[2]) -1,parseInt(results[3]));
16 results = str.match(/^ *(\d{4})-(\d{1,2})-(\d{1,2}) +(\d{1,2}):(\d{1,2}):(\d{1,2}) *$/);
17 if(results && results.length>6)
18 return new Date(parseInt(results[1]),parseInt(results[2]) -1,parseInt(results[3]),parseInt(results[4]),parseInt(results[5]),parseInt(results[6]));
19 results = str.match(/^ *(\d{4})-(\d{1,2})-(\d{1,2}) +(\d{1,2}):(\d{1,2}):(\d{1,2})\.(\d{1,9}) *$/);
20 if(results && results.length>7)
21 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]));
22 }
23 return null;
24}
25
26/**//*
27 将Date/String类型,解析为String类型.
28 传入String类型,则先解析为Date类型
29 不正确的Date,返回 ''
30 如果时间部分为0,则忽略,只返回日期部分.
31*/
32function formatDate(v){
33 if(typeof v == 'string') v = parseDate(v);
34 if(v instanceof Date){
35 var y = v.getFullYear();
36 var m = v.getMonth() + 1;
37 var d = v.getDate();
38 var h = v.getHours();
39 var i = v.getMinutes();
40 var s = v.getSeconds();
41 var ms = v.getMilliseconds();
42 if(ms>0) return y + '-' + m + '-' + d + ' ' + h + ':' + i + ':' + s + '.' + ms;
43 if(h>0 || i>0 || s>0) return y + '-' + m + '-' + d + ' ' + h + ':' + i + ':' + s;
44 return y + '-' + m + '-' + d;
45 }
46 return '';
47}
分享到:
相关推荐
在JavaScript中,日期格式化是一项常见的任务,尤其是在处理用户界面展示或者数据存储时。`Date`对象是JavaScript内置的对象,提供了处理日期和时间的各种方法。在这个场景中,我们需要将一个像"XXXX年XX月XX日"这样...
// 格式化日期 return formatDateTime(date); } ``` 这个函数首先调用`parseJsonDate`函数将输入的JSON日期字符串转换为`Date`对象,然后通过`formatDateTime`函数将该对象格式化为我们所需的日期格式。 #### ...
它提供了丰富的功能,包括日期解析、验证、格式化以及日期的数学运算等。由于其轻量级和强大的特性,moment.js在Web开发中被广泛采用,尤其在处理复杂的前端日期逻辑时。 1. **日期解析**: moment.js允许开发者...
下面将详细介绍如何使用JavaScript实现字符串与日期的相互转换以及日期的格式化。 首先,我们来看如何将字符串转换为日期对象。在提供的代码中,有一个名为`stringToDate`的函数,它接受一个形如"yyyy-MM-dd"格式的...
### JavaScript中的Date Format(JS日期格式化)方法详解 #### 概述 在日常的Web开发工作中,我们经常需要处理日期和时间相关的数据。JavaScript 的 `Date` 对象提供了多种方法来获取和设置日期时间,但原生 API 并...
例如,可以使用`format(new Date(), 'yyyy-MM-dd HH:mm:ss')`来格式化日期。 5. **luxon**: luxon是Intl.DateTimeFormat的现代化替代品,它提供了更强的类型安全性和更好的错误处理。使用`DateTime.now().to...
JavaScript的`Date`对象提供了丰富的API来创建、操作和格式化日期。例如: - `new Date()`:创建当前日期和时间的实例。 - `Date.now()`:获取自1970年1月1日以来的毫秒数。 - `date.getFullYear()`、`date.getMonth...
JavaScript提供了一个内置的`Date`对象,可以用来创建、操作和格式化日期。你可以通过`new Date()`来创建一个日期实例,或者通过传递年、月、日等参数来初始化特定日期。`Date`对象提供了丰富的API,如`getFullYear...
AMF(Action Message Format)是Adobe公司开发的一种二进制数据序列化格式,常用于Flash与服务器之间的数据交换。...掌握这两种技术,以及相关的解析和格式化工具,将对提升你的开发能力大有裨益。
总结,JSON日期格式化涉及理解JSON的非标准化日期表示,使用JavaScript内置或外部工具进行日期解析和格式化。通过选择合适的API或库,我们可以根据需求灵活地处理JSON中的日期字符串,使其符合我们的展示或存储需求...
因为我们知道,Date 类只提供了若干获取日期元素的方法,如 getDate(),getMinute()……却没有一个转换为特定字符串的格式化方法。故所以,利用这些细微的方法,加以封装,组合我们想要的日期字符串形式。一般来说,...
在格式化日期时,往往需要对这些值进行调整,以符合特定的文化或商业规则,比如月份和日期的0填充、使用12小时制或24小时制等。 在实际应用中,格式化日期是Web开发中非常常见的需求。例如,在用户界面显示当前日期...
主要内容包括获取当前一周的所有日期、获取当月所有日期、获取当月的总天数、计算两个日期之间的差异、获取未来若干天的具体日期、获取星期名称以及格式化日期字符串的方法。此外,还介绍了一些需要注意的地方,如...
`moment.js`提供了一种标准且强大的方式来解析、验证、操作和格式化日期。 例如,你可以用`moment('2022-12-31').isValid()`来验证日期是否有效,`moment().add(1, 'year')`将当前日期增加一年,`moment().subtract...
`moment.js` 库提供丰富的日期和时间处理功能,支持多种输入格式,并可以方便地进行日期运算和格式化。例如,它可以解析ISO字符串、Unix时间戳甚至不规则的日期格式。`format` 方法则允许我们根据需求定制日期的显示...
JavaScript是一种广泛应用于前端开发的编程语言,其中一个常见的任务是在Web应用中格式化日期和时间。为了帮助开发者高效完成这一任务,许多JavaScript库提供了日期时间格式化的函数。在本例中,我们将探讨一个...
### JS格式化日期知识点 #### 一、概述 在JavaScript中,处理日期是常见的需求之一。对于日期格式化的实现,通常需要考虑到不同浏览器之间的兼容性问题。本文将介绍一种简单的日期格式化方法,并通过示例代码展示...
#### 二、格式化日期时间的函数设计 接下来,我们将重点介绍如何编写一个灵活且强大的日期时间格式化函数。该函数能够接受不同的格式化模式,并根据这些模式输出相应的日期时间字符串。 ```javascript // 扩展Date...