前言:一直没找到好用的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. 常用的JS日期格式化方法

    记录一下工作中常用到的日期格式化工具方法: 大家觉得好用的可以收藏一下,避免下次想用又找不到噢 使用方法如下: //最近一个月lastMonth() {const end = new Date();c ...

  2. python小项目实例流程-Python小项目:快速开发出一个简单的学生管理系统

    原标题:Python小项目:快速开发出一个简单的学生管理系统 本文根据实际项目中的一部分api 设计抽象出来,实例化成一个简单小例子,暂且叫作「学生管理系统」. 这个系统主要完成下面增删改查的功能: ...

  3. python小项目案例-Python小项目:快速开发出一个简单的学生管理系统

    本文根据实际项目中的一部分api 设计抽象出来,实例化成一个简单小例子,暂且叫作「学生管理系统」. 这个系统主要完成下面增删改查的功能: 包括: 学校信息的管理 教师信息的管理 学生信息的管理 根据A ...

  4. python项目开发实例-Python小项目:快速开发出一个简单的学生管理系统

    本文根据实际项目中的一部分api 设计抽象出来,实例化成一个简单小例子,暂且叫作「学生管理系统」. 这个系统主要完成下面增删改查的功能: 包括: 学校信息的管理 教师信息的管理 学生信息的管理 根据A ...

  5. (超多图)基于Android studio开发的一个简单入门小应用(超级详细!!)(建议收藏)

    基于Android studio开发的一个简单入门小应用 一.前言 二.前期准备 三.开发一个小应用 五.运行应用 一.前言 在暑假期间,我学习JAVA基础,为了能早日实现自己用代码写出一个app的& ...

  6. php怎么做考勤行事例,PHP开发制作一个简单的活动日程表Calendar

    材料取之深入PHP与JQuery开发,这本书实际上就是讲述一个活动日程表. 此文章适合从其它语言(如java,C++,python等)转到php,没有系统学习php,或者是php初学者,已经对程序有较 ...

  7. 如何用php做每天日程安排,PHP开发制作一个简单的活动日程表Calendar,日程表calendar...

    PHP开发制作一个简单的活动日程表Calendar,日程表calendar 材料取之深入PHP与JQuery开发,这本书实际上就是讲述一个活动日程表. 此文章适合从其它语言(如java,C++,pyt ...

  8. python 消息队列 go_gmq: gmq是基于redis提供的特性,使用go语言开发的一个简单易用的消息队列;支持延迟任务,异步任务,超时任务,优先级任务...

    1. 概述 gmq是基于redis提供的特性,使用go语言开发的一个简单易用的队列;关于redis使用特性可以参考之前本人写过一篇很简陋的文章Redis 实现队列; gmq的灵感和设计是基于有赞延迟队 ...

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

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

最新文章

  1. 查看JDK的历史版本
  2. 如何把SAP CRM产品主数据隐藏的batch ID字段显示出来
  3. Kubernetes stateful set讲解以及一个基于postgreSQL的具体例子
  4. 中科院等发布《2019研究前沿》
  5. 从 Dagger 到 Hilt,谷歌为何执着于让我们用依赖注入?
  6. 用了Redis里面的map和set
  7. MultipartFile和CommonsMultipartFile的区别!
  8. 内存检查工具valgrind介绍、安装与使用
  9. 解析《富爸爸财务自由之路》
  10. Foxmail登录各种邮箱方法汇总
  11. stm32中堆、栈、flash、ROM、RAM、bss段、data段、text段、Code、Ro-data、 ZI-data、RW-data简介
  12. 简要比较费雪方程与剑桥方程
  13. 中国物流企业家谈“物流”
  14. threejs全景图片展示
  15. hydrus1d使用说明_Hydrus-1D中文说明.doc
  16. jitpack.io 无法访问或下载依赖库
  17. 未知参数休哈特matlab,一种确定某类工作的人的极限工作时间的方法
  18. 简易手写输入法软件的编写
  19. 2017百度之星初赛:B-1005. 度度熊的交易计划(最小费用流)
  20. JS--事件的委托(代理)--使用/教程/实例

热门文章

  1. 鸿蒙系统批次名单,鸿蒙系统升级机型名单有哪些?鸿蒙系统升级机型汇总
  2. 建模实训报告总结_建筑模型制作实训报告总结
  3. 浅谈流形学习(Manifold Learning)
  4. “华为杯”研究生数学建模竞赛2005年-【华为杯】A题:排队论模型解决出租车最佳数量预测(附获奖论文)
  5. 手机端访问网页自动跳转至广告页面解决办法
  6. 4年滴滴是这样子干掉30家竞争公司的
  7. C#windows窗体应用隐藏,按需要显示
  8. uniapp 隐藏“再按一次退出应用”的提示,将应用隐藏至后台
  9. Android程序员的硬通货——ASM字节码插桩
  10. python最短路径问题_Python调用gurobi来解决最短路径问题,python,求解