`

javascript日期对象格式化为字符串的实现

阅读更多
javascript提供的日期格式化太简单,一般应用都需要自己实现格式化方法.下面是我想出的一个格式化处理方案,应该是可以满足常用的需求.日期模板中可以使用任意分隔符,还可以使用文字作为分隔符,甚至支持类似yyyyMMdd之类没有分隔符的格式化.
原理:用正则表达式将日期模板中的日期元素[如yyyy, MM, dd]和分隔符拆分成数组,然后用实际的值替换日期元素形成日期字符串.

实现共有两个函数,粘贴可运行.

扩展方式:

示例中只支持了年月日时分秒毫秒的元素,如果需要显示星期则可以在values中添加w = getDay(),将正则表达式修改为y+|M+|d+|H+|m+|s+|S+|w+|[^yMdHmsSw]/g即可.

如果需要将月份或星期显示为全拼或简拼英文,可以在cfg中增加相应配置,我只在cfg中增加了一个示例

使用方式:

var date = new Date();
var str = formatDate(date, 'yyyy年MMM月dd日');
则str的值为2012年七月29日

/**
* 格式化整数
* @param number:number 要格式化的整数
* @param fmt:string 整数格式
*/
function formatNumber(number, fmt) {
number = number + '';
if (fmt.length > number.length) {
return fmt.substring(number.length) + number;
}
return number;
}

/**
* 格式化日期为字符串表示
* @param datetime:Date 要格式化的日期对象
* @param format:String 日期格式
*/
function formatDate(datetime, format) {
var cfg = {
MMM : ['一', '二', '三', '四', '五', '六', '七', '八', '九', '十', '十一', '十二'],
MMMM : ['一', '二', '三', '四', '五', '六', '七', '八', '九', '十', '十一', '十二']
},
values = {
y : datetime.getFullYear(),
M : datetime.getMonth(),
d : datetime.getDate(),
H : datetime.getHours(),
m : datetime.getMinutes(),
s : datetime.getSeconds(),
S : datetime.getMilliseconds()
};
/*用正则表达式拆分日期格式各个元素*/
var elems = format.match(/y+|M+|d+|H+|m+|s+|S+|[^yMdHmsS]/g);
//将日期元素替换为实际的值
for (var i = 0; i < elems.length; i++) {
if (cfg[elems[i]]) {
elems[i] = cfg[elems[i]][values[elems[i].charAt(0)]];
} else if (values[elems[i].charAt(0)]) {
elems[i] = formatNumber(values[elems[i].charAt(0)], elems[i].replace(/./g, '0'));
}
}

return elems.join('');
}
分享到:
评论

相关推荐

    javascript日期对象格式化为字符串的实现方法

    下面将详细介绍一种使用JavaScript实现日期对象格式化为字符串的方法。 首先,要进行日期格式化的基础原理是使用正则表达式将日期模板中定义的日期元素(如年、月、日等)和分隔符拆分成数组,然后使用实际的日期值...

    JavaScript实现字符串与日期的互相转换及日期的格式化

    在本文档中,我们将详细探讨JavaScript如何实现字符串与日期的互相转换,并且如何格式化日期。JavaScript是一种广泛使用的前端编程语言,它提供了一系列的内置对象来处理日期和时间。在网页和Web应用程序开发中,...

    Json将对象转换成字符串

    标题“Json将对象转换成字符串”涉及的主要知识点是将JavaScript对象序列化为JSON格式的字符串。这在前端与后端通信、存储数据或传输数据时非常常见。以下是对这一主题的详细阐述: 1. **JSON对象和字符串**:JSON...

    javascript的trim和日期时间格式化函数

    本文将详细介绍如何利用自定义方法实现字符串的Trim功能以及日期时间的格式化功能。 #### Trim函数 在JavaScript中,Trim功能主要用于去除字符串两端的空白字符。虽然ES6引入了`String.prototype.trim()`,但在...

    对象转换json字符串类

    在C#编程环境中,对象转换为JSON字符串是常见的操作,这通常涉及到将.NET对象序列化为JSON字符串。在给定的【标题】"对象转换json字符串类"和【描述】中,我们可以推测这是一个关于如何在C#中将对象转化为JSON字符串...

    java解析json格式字符串所需jar包

    JSON Lib提供了将Java对象转化为JSON字符串以及将JSON字符串反序列化为Java对象的能力。在Java中解析JSON字符串,这个库是最核心的依赖。 5. **ezmorph-1.0.6.jar**:EZMorph库提供了一种简单的方式来转换Java对象...

    json_lib使用实例:java对象与json字符串的互转

    这个库提供了丰富的API,使得我们可以轻松地将Java对象转化为JSON字符串,以及将JSON字符串反序列化为Java对象。 ### JSON对象与Java对象的转换 1. **JSON字符串转Java对象** 使用`json-lib`,我们可以将JSON...

    json返回date类型转为字符串.docx

    在上面的示例代码中,我们使用了一个对象 `o` 来存储日期的各个部分,然后使用正则表达式来将日期格式化为字符串。例如: ```javascript var o = { "M+": this.getMonth() + 1, "d+": this.getDate(), "h+": this...

    json转化字符串案例

    这个“json转化字符串案例”应该是提供了一些示例,演示如何将Java对象转化为JSON字符串,以及如何将JSON字符串反序列化为Java对象。这对于理解和学习JSON在Java环境中的应用至关重要,特别是对于初学者来说。 首先...

    使用gson,java对象和json字符串之间相互转化

    这两个方法分别用于将Java对象转换为JSON字符串,以及将JSON字符串反序列化为Java对象。 1. **Java对象转JSON字符串**: 要将一个Java对象转化为JSON字符串,可以使用`Gson.toJson()`方法。例如,假设我们有一个名...

    Javascript将字符串日期格式化为yyyy-mm-dd的方法

    ### Javascript将字符串日期格式化为yyyy-mm-dd的方法知识点总结 #### 知识点1:日期格式化 日期格式化是将日期以一种特定的格式展示出来,常见的格式包括"yyyy-mm-dd","mm/dd/yyyy"等。在不同的编程场景和业务...

    json返回date类型转为字符串.pdf

    在本文中,我们将讨论如何将 Json 返回的日期类型转换为字符串,特别是使用 JavaScript 语言实现这个功能。 日期类型转换的必要性 在 Web 开发中,日期类型数据的处理是一个非常重要的方面。例如,在电商平台上,...

    javascript 日期数字文本格式化

    首先,JavaScript提供了一些内置的日期对象方法,如`Date`对象的`toString()`、`toLocaleString()`和`toJSON()`等,它们可以帮助我们将日期转换为可读的字符串。例如,`new Date().toString()`会返回当前日期和时间...

    JavaScript - 格式化日期时间.zip

    通常,这样的示例会使用模板字符串或者一些实用函数来简化日期时间的格式化过程,比如创建一个名为`formatDate`或`formatTime`的辅助函数。 此外,除了手动格式化,还可以使用一些库,如Moment.js或date-fns,它们...

    javascript时间戳和日期字符串相互转换代码(超简单)

    在JavaScript中,时间戳和日期字符串之间的转换是常见的需求。...同时,通过`Date`对象的各种`to...String()`方法,可以将日期对象格式化为所需格式的字符串。自定义格式化函数则可以进一步满足特定的日期显示需求。

    使用fastjson实现对象和json串之间的相互转换的jar包

    接下来,我们来看如何将JSON字符串反序列化为Java对象。假设我们已经有了如下的JSON字符串: ```json { "name": "李四", "age": 30 } ``` 我们可以使用`JSON.parseObject()`方法将其解析成User对象: ```java ...

    格式化数据库日期JS

    当从服务器或数据库接收数据时,日期通常被序列化为字符串形式,以便于传输。常见的格式之一是这样的:“/Date(1578460800000+0000)/”。这里的数字表示从1970年1月1日午夜(UTC)以来的毫秒数,而括号内的其他字符...

    【JavaScript源代码】vue使用过滤器格式化日期.docx

    在JavaScript和Vue.js中,日期格式化是一种常见的需求,它帮助我们把日期对象转换成易于阅读的字符串形式。Vue.js提供了自定义过滤器(filter)的功能,让我们能够方便地处理和展示数据,包括日期格式化。以下是一个...

    C#解析Json字符串.zip

    这个库提供了丰富的功能,包括序列化和反序列化JSON,使C#对象与JSON字符串之间能够自由转换。 1. **序列化**: 将C#对象转换为JSON字符串。例如,有一个名为`Person`的类: ```csharp public class Person { ...

Global site tag (gtag.js) - Google Analytics