前言:一直没找到好用的javascript日期格式化工具,自己写了一个,方便以后复用

1、主要功能

(1)支持任意顺序的日期格式排列:yyyy=年,MM=月,dd=日,HH=时,mm=分,ss=秒,sss=毫秒

(2)支持js的Date对象和标准Long值日期格式化(例如java发送到前端的日期是一个long值)

(3)日期出现个位数自动填充0

2、方法实现

/**
*日期格式化 str:格式化字符,d:js日期对象或long值,d为空则自动获取当前日期格式化
*/
function dateFormat(str,d) {
if( checkNull(str)){ //如果格式化字符为空,返回空字符
return "";
}
if(checkNull(d)){ //如果日期为空,自动获取当前日期
d=new Date();
}else if(d.constructor!=Date){//如果参数不是一个日期对象,就认为是一个标准Long值日期
d=new Date(d);
}
return str.replace("yyyy",d.getFullYear()).replace("MM",fillZero(d.getMonth()+1)).replace("dd",fillZero(d.getDate())).replace("HH",fillZero( d.getHours())).replace("mm",fillZero(d.getMinutes())).replace("ss",fillZero(d.getSeconds())).replace("sss",d.getMilliseconds());
} //填充0
function fillZero(value){
if(value.toString().length<2){
return "0"+value;
}
return value;
}
//判空
function checkNull(value){
if(!value||value==null||typeof(value) == "undefined"||value==""){
return true;
}
return false;
}

3、测试demo

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>日期格式化 by eguid</title>
</head>
<body> <p>支持任意顺序日期格式排列:</p>
<p id="demo">例如:dd日MM月yyyy年 HH:mm:ss</p>
<script>
/** 
*日期格式化 str:格式化字符,d:js日期对象,d为空则自动获取当前日期格式化 
*/  
function dateFormat(str,d) {  
if( checkNull(str)){  //如果格式化字符为空,返回空字符  
        return "";    
}
if(checkNull(d)){  //如果日期为空,自动获取当前日期  
    d=new Date();    
}else if(d.constructor!=Date){//如果参数不是一个日期对象,就认为是一个标准Long值日期
d=new Date(d);
}
 return  str.replace("yyyy",d.getFullYear()).replace("MM",fillZero(d.getMonth()+1)).replace("dd",fillZero(d.getDate())).replace("HH",fillZero( d.getHours())).replace("mm",fillZero(d.getMinutes())).replace("ss",fillZero(d.getSeconds())).replace("sss",d.getMilliseconds());  
}   //填充0  
function fillZero(value){  
if(value.toString().length<2){  
    return "0"+value;  
}  
return value;  
}  
//判空  
function checkNull(value){  
if(!value||value==null||typeof(value) == "undefined"||value==""){  
return true;  
}  
return false;  
}  
//运行日期格式化
var str = document.getElementById("demo").innerHTML;
document.getElementById("demo").innerHTML =dateFormat(str);
</script> </body>
</html>

结果:

支持任意顺序日期格式排列:

例如:19日12月2016年 11:13:56:815

javascript常用开发笔记:一个简单强大的js日期格式化方法的更多相关文章

  1. TERSUS无代码开发(笔记05)-简单实例电脑端页面设计

    案例笔记电脑端页面设计   1.新建项目(请假管理qjgl)   2.开发软件界面介绍(常用的功能按键)      3.目录中显示元件对象      4.对元件对象的操作主要方式是双击(双击哪个元件, ...

  2. TERSUS无代码开发(笔记09)-简单实例前端样式设计

    前端常用样式设计 =========================================================================================== ...

  3. TERSUS无代码开发(笔记06)-简单实例手机端页面设计

    手机端的设计 1.页面说明 2.默认页面===>提交请假单(上面页面双击进入,页面主要编辑区) 2.1默认页面===>提交请假单===>头部区(页面部份主要编辑区01) 2.1.1默 ...

  4. 开发部署一个简单的Servlet

    Servlet是一个执行在服务器端的Java Class文件,载入前必须先将Servlet程序代码编译成.class文件,然后将此class文件放在servlet Engline路径下.Servlet ...

  5. TERSUS无代码开发(笔记08)-简单实例电脑端后台逻辑开发

    主管审批功能逻辑开发 1.查询逻辑开发(查询待审批记录) 2.批准处理(将选中的一条记录进行批准处理)  =============================================== ...

  6. TERSUS无代码开发(笔记07)-简单实例手机端后台逻辑开发

    提交申请逻辑开发 1.添加父级对象引用(从父级对象中获取前端输入框的值) 1.设计数据库表(表名和字段名称不能用中文) 2.设计置数据库主键(可设联合主键) 3.传值形成数据实列处理 4.服务器端处理 ...

  7. LayaAir引擎开发HTML5最简单教程(面向JS开发者)

    LayaAir引擎开发HTML5最简单教程(面向JS开发者) 一.总结 一句话总结:开发游戏还是得用游戏引擎来开发,其实很简单啦 切记:开发游戏还是得用游戏引擎来开发,其实很简单,引擎很多东西都帮你做 ...

  8. javascript日期格式化方法汇总

    本文给大家汇总介绍了javascript格式化日期时间的几种常用方法,个人对最后一种个性化输出时间比较有兴趣,基本上只要项目中能用到都是使用这种,推荐给小伙伴们. 方法一: ? 1 2 3 4 5 6 ...

  9. javaScript prototype实例(正则) 自定义日期格式化方法

    一个JS自定义日期格式化方法,包括了不少知识点,以下方法来自jQuery DataTable中文的官方参考 //return (new Date(data)).Format("yyyy-MM ...

随机推荐

  1. mybatis插入List集合数据

    处女帖 今天做完一个定时任务将一个表中的数据每天统计到另外一个表中,开始是用循环的方式向数据库添加,觉得数据库可能访问压力过大,所以就使用了mybatis的foreach标签来稍微的减少压力. 首先封 ...

  2. AOJ/搜索递归分治法习题集

    ALDS1_4_A-LinearSearch. Description: You are given a sequence of n integers S and a sequence of diff ...

  3. PHP 手册

    http://www.php.net/manual/zh/index.php 感谢中文翻译工作者. PHP 手册¶ by:Mehdi Achour Friedhelm Betz Antony Dovg ...

  4. 1013 Realtime Status

    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission( ...

  5. 九思老客户分享:部署OA办公系统的四大意义

    原文:http://www.jiusi.net/detail/472__776__4009__1.html 关键词:OA办公系统.oa系统 .九思OA 九思老客户分享:部署OA办公系统的四大意义 当今 ...

  6. IOS(二)基本控件UIButton、简易动画、transform属性、UIImageView

    UIButton //1.设置UIButton 的左右移动 .center属性 获得 CGPoint 来修改x y //1.设置UIButton 的放大缩小 bounds属性 获得CGRect 然后通 ...

  7. 转csdn-css4

    http://www.csdn.net/article/2015-03-06/2824127-css4

  8. 《快学Scala》——数组、映射和元组

    数组 定长数组:在Scala中可以用Array,初始化一个定长数组.例如: val nums = new Array[Int](10) //10个整数的数组,所有元素初始化为0 val a = new ...

  9. hdu2159 FATE 经典二维背包

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2159 思路: 定义ans存当前满足条件的消耗的最小的忍耐值(满足条件的忍耐值为在当前消耗的忍耐值的情况 ...

  10. 点击文字选中checkbox

    <html> <head> <title>test</title> <meta http-equiv="content-Type&quo ...