【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(& ...
随机推荐
- C/C++语言void及void指针深层探索(转)
转自:http://www.lanou3g.com/blog/sort/SelfiOS/page/78 1.概述 许多初学者对C/C++语言中的void及void指针类型不甚理解,因此在使用上出现了一 ...
- 在IE地址栏输入JS的有趣效果
1.编辑网页 在地址栏输入下面的代码按enter,网页上所有元素都能变成可编辑状态,你可以移动.调整元素大小.如果你只是讨厌某个网站想发泄一下,我建议你使用NetDisater. 代码如下: java ...
- 详解LUA开发工具及其环境配置
LUA开发工具及其环境配置是本文要介绍的内容,主要是来了解并学习lua开发工具的使用和环境的配置,第一次接触LUA的话,就跟本人一起学习吧.看我能不能忽悠到你. LUA是语言,那么一定有编写的工具.第 ...
- c++时间处理
struct tm;这是一个结构体,包括了时间的各个属性年月日,时分秒 time(time_t * t);获取从1900年到现在经过的毫秒数,或者也可以这么用time_t t=time(NULL); ...
- COM ,Threading Models,apartments,RPC
Component Object Model (COM) https://msdn.microsoft.com/en-us/library/windows/desktop/ms680573%28v=v ...
- java.util.concurrent Class ThreadPoolExecutor
http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ThreadPoolExecutor.html
- DNS-解析、劫持、污染
DNS( Domain Name System)是“域名系统”的英文缩写,是一种组织成域层次结构的计算机和网络服务命名系统,它用于TCP/IP网络,它所提供的服务是用来将主机名和域名转换为IP地址的工 ...
- C++重载,重写,重定义
1.重载:重载是在一个类中,函数名一样,参数类型或参数个数不同的一系列函数需要注意的是,与返回类型无关. class Test { public: void show(); void show(int ...
- c# 图片XML序列化与反序列化
var xmlDoc = new XmlDocument(); xmlDoc.Load(@"C:\Users\*\Desktop\*.xml"); ].ChildNodes[]; ...
- visual studio F12 失效,可能是装了插件,比如ReSharper 但是,ReSharper没有激活导致.
visual studio F12 失效,可能是装了插件,比如ReSharper 但是,ReSharper没有激活导致.