前言:一直没找到好用的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. html5表单元素详解

    表单是Html中获取用户输入的手段.此文对表单的元素进行了详细整理. 表单基本元素 form input button form元素 html4中,form元素相当于表单的外包装,其他都要在里面.ht ...

  2. CF Educational Codeforces Round 3 E. Minimum spanning tree for each edge 最小生成树变种

    题目链接:http://codeforces.com/problemset/problem/609/E 大致就是有一棵树,对于每一条边,询问包含这条边,最小的一个生成树的权值. 做法就是先求一次最小生 ...

  3. 基于Maven的SSM整合的web工程

    此文章主要有以下几个知识点: 一.如何创建 Maven的Web 工程 二.整合SSM(Spring,SpringMvc,Mybatis),包括所有的配置文件 三.用 mybatis 逆向工程生成对应的 ...

  4. PHP的虚拟域名的配置

    由于本人的自己搭建的php环境,Wamp环境.虚拟域名是写程序的一个最基本的配置,也对项目的调试有一定的真实感.我在学习虚拟域名的时候是受到了一些的问题,所以说写这个是为了帮助新人少走弯路, 也是为了 ...

  5. 高性能日志类KLog(已开源代码)

    项目开源地址:https://github.com/ihambert/KLog  上回介绍了超简易日志类,但他有诸多的局限性,注定了不能作为一个网站的日志类. 那什么样的日志类才能用于网站呢.首先来假 ...

  6. 浅谈JavaScript匿名函数与闭包

    一. 匿名函数   //普通函数定义: //单独的匿名函数是无法运行的.就算运行了,也无法调用,因为没有名称. 如: function(){             alert('123');    ...

  7. 关于input标签无法对齐的解决方法!

    在布局中发现各个input之间很难对齐,解决方法如下: 将input设置vertical-align属性: vertical-align:middle vertical-align:top verti ...

  8. java文件创建和删除

    流的操作在项目开发中用的很普遍,虽然每次在网上都可以百度到,但是总感觉心里不踏实,对此,关于流的操作做一个详细的总结--- 1.根据数据的流向来分:输出流:是用来写数据的,是由程序(内存)---> ...

  9. ajax分页实现(php)

    ajax分页实现(php) 使用jquery.pagination.js插件 引入js文件.css文件 <link rel="stylesheet" href="/ ...

  10. 用ng-view创建单页APP

    我们假设我们有一个单页面的程序,并且想为这个页面添加动画效果.点击某一个链接会将一个试图滑出,同时将另一个试图滑入. 我们将会使用: 使用 ngRoute 来为我们的页面路由 使用 ngAnimate ...