【JavaScript】日期和数字格式化
var date,
number; /**
* 让日期和时间按照指定的格式显示的方法
* @param date
* @param formatString format 格式字符串
* @returns {*} 返回生成的日期时间字符串
*
* @example
* var d = new Date();
* // 以 YYYY-MM-dd hh:mm:ss 格式输出 d 的时间字符串
* J.format.date(d, "YYYY-MM-DD hh:mm:ss");
*/
date = function (date, formatString) {
/*
* eg:formatString="YYYY-MM-DD hh:mm:ss";
*/
var o = {
"M+": date.getMonth() + 1, //month
"D+": date.getDate(), //day
"h+": date.getHours(), //hour
"m+": date.getMinutes(), //minute
"s+": date.getSeconds(), //second
"q+": Math.floor((date.getMonth() + 3) / 3), //quarter
"S": date.getMilliseconds() //millisecond
}; if (/(Y+)/.test(formatString)) {
formatString = formatString.replace(RegExp.$1, (date.getFullYear() + "").substr(4 - RegExp.$1.length));
} for (var k in o) {
if (new RegExp("(" + k + ")").test(formatString)) {
formatString = formatString.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length));
}
}
return formatString;
}; /**
* @memberOf format
* @method number
* 格式化数字显示方式
* @param num 要格式化的数字
* @param pattern 格式
* @example
* J.format.number(12345.999,'#,##0.00');
* //out: 12,34,5.99
* J.format.number(12345.999,'0');
* //out: 12345
* J.format.number(1234.888,'#.0');
* //out: 1234.8
* J.format.number(1234.888,'000000.000000');
* //out: 001234.888000
*/
number = function (num, pattern) {
var strarr = num ? num.toString().split('.') : ['0'];
var fmtarr = pattern ? pattern.split('.') : [''];
var retstr = ''; // 整数部分
var str = strarr[0];
var fmt = fmtarr[0];
var i = str.length - 1;
var comma = false;
for (var f = fmt.length - 1; f >= 0; f--) {
switch (fmt.substr(f, 1)) {
case '' :
if (i >= 0)
retstr = str.substr(i--, 1) + retstr;
break;
case '0' :
if (i >= 0)
retstr = str.substr(i--, 1) + retstr;
else
retstr = '0' + retstr;
break;
case ',' :
comma = true;
retstr = ',' + retstr;
break;
}
}
if (i >= 0) {
if (comma) {
var l = str.length;
for (; i >= 0; i--) {
retstr = str.substr(i, 1) + retstr;
if (i > 0 && ((l - i) % 3) == 0)
retstr = ',' + retstr;
}
} else
retstr = str.substr(0, i + 1) + retstr;
} retstr = retstr + '.';
// 处理小数部分
str = strarr.length > 1 ? strarr[1] : '';
fmt = fmtarr.length > 1 ? fmtarr[1] : '';
i = 0;
for (var f = 0; f < fmt.length; f++) {
switch (fmt.substr(f, 1)) {
case '' :
if (i < str.length)
retstr += str.substr(i++, 1);
break;
case '0' :
if (i < str.length)
retstr += str.substr(i++, 1);
else
retstr += '0';
break;
}
}
return retstr.replace(/^,+/, '').replace(/\.$/, '');
};
【JavaScript】日期和数字格式化的更多相关文章
- [应用篇]第五篇 JSTL之fmt标签日期和数字格式化
fmt标签个人用的比较少,但是我还是在这里简单的留一下笔记,也是算是学习了一下!这样方便你们课设的时候能用的上,要学会进步的学习,不要停留! 引入该标签库的方法为: <%@ taglib pre ...
- spring mvc4的日期/数字格式化、枚举转换
日期.数字格式化显示,是web开发中的常见需求,spring mvc采用XXXFormatter来处理,先看一个最基本的单元测试: package com.cnblogs.yjmyzz.test; i ...
- JavaScript日期时间格式化函数
这篇文章主要介绍了JavaScript日期时间格式化函数分享,需要的朋友可以参考下 这个函数经常用到,分享给大家. 函数代码: //格式化参数说明: //y:年,M:月,d:日,h:时,m分,s:秒, ...
- JavaScript 系列--JavaScript一些奇淫技巧的实现方法(二)数字格式化 1234567890转1,234,567,890;argruments 对象(类数组)转换成数组
一.前言 之前写了一篇文章:JavaScript 系列--JavaScript一些奇淫技巧的实现方法(一)简短的sleep函数,获取时间戳 https://www.mwcxs.top/page/746 ...
- JavaScript 中的数字和日期类型
本章节介绍如何掌握Javascript里的数字和日期类型 数字EDIT 在 JavaScript 里面,数字都是双精度浮点类型的 double-precision 64-bit binary form ...
- JavaScript 日期格式化 简单有用
JavaScript 日期格式化 简单有用 代码例如以下,引入jquery后直接后增加下面代码刷新可測试 Date.prototype.Format = function (fmt) { //auth ...
- Javascript 日期格式化
Javascript 日期格式化 需求: 给出:日期 .格式,根据日期格式进行输出. Date.prototype.Format = function (fmt) { //author: meizz ...
- Moment.js 超棒Javascript日期处理类库
Moment.js 不容错过的超棒Javascript日期处理类库 主要特性: 3.2kb超轻量级 独立类库,意味这你不需要倒入一堆js 日期处理支持UNIX 时间戳,String,指定格式的Date ...
- JavaScript日期对象使用总结
javascript Date日期对象的创建 创建一个日期对象: var objDate=new Date([arguments list]); 我总结了参数形式主要有以下3种: new Date(& ...
随机推荐
- 黑马程序员——JAVA基础之简述设计模式
------- android培训.java培训.期待与您交流! ---------- 设计模式(Design Patterns) 设计模式(Design pattern)是一套被反复使用.多数人知晓 ...
- 学习笔记之 初试Caffe,Matlab接口提取feature
Caffe 提供了matlab接口,可以用于提取图像的feature.
- CLREX
KernelBase.dll!RaiseException() Unknown > coreclr.dll!`RaiseTheExceptionInternalOnly'::`81'::__Bo ...
- 制作和unity调用动态链接库dll文件
首先用vc建立一个dll工程 然后在里面建立一个testunity.h文件.内容如下 1 extern "C" int _declspec(dllexport)testunity( ...
- 在AndroidStudio中引入SlidingMenu第三方库的步骤
步骤一: 在GitHub上下载库文件 步骤二: 在需要引入库的项目中导入一个Moudle,如下图: 步骤三: 将下载后的Slidingme ...
- js里的setTimeout和setInterval之后的页面是空白,阻塞浏览器的document对象,但是不阻塞script方法
js里的setTimeout和setInterval是否进程阻塞? 阻塞浏览器的document对象,但是不阻塞script方法 当你在setTimeout中使用document.write时是不行的 ...
- 在Linux中搭建一个FTP服务器
在Linux中搭建一个ftp服务器,以供两个工作小组保管文件使用.禁用匿名.第一个小组使用ftp账号:ftp1,工作目录在:/var/ftp/ftp1:第二个小组使用ftp2,工作目录在:/var/f ...
- Java 异常处理机制和集合框架
一.实验目的 掌握面向对象程序设计技术 二.实验环境 1.微型计算机一台 2.WINDOWS操作系统,Java SDK,Eclipse开发环境 三.实验内容 1.Java异常处理机制涉及5个关键字:t ...
- pouchdb sync
PouchDB and CouchDB were designed for one main purpose: sync. Jason Smith has a great quote about th ...
- MySQL索引的缺点以及MySQL索引在实际操作中有哪些事项
以下的文章主要介绍的是MySQL索引的缺点以及MySQL索引在实际操作中有哪些事项是值得我们大家注意的,我们大家可能不知道过多的对索引进行使用将会造成滥用.因此MySQL索引也会有它的缺点: 虽然索引 ...