全面兼容的javascript时间格式化函数(比较实用)

全面兼容的javascript时间格式化函数,实用总结!


代码如下:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>js日期格式化</title>
<script language="javascript" type="text/javascript">
/*
* 时间格式化
* strDateTime:需要格式化的字符串时间
* intType:格式化类型
*/
function formatDateTime(strDateTime, intType) {
var years, month, days, hours, minutes, seconds;
var newDate, arrDate = new Array(), arrTime = new Array();

try {
if (strDateTime != undefined && strDateTime != null && strDateTime != "") {
//获取日期和时间数组
if (strDateTime.indexOf("-") != -1) {
var item = strDateTime.split(" ");
arrDate = item[0].toString().split("-");
arrTime = item[1].toString().split(":");
} else if (strDateTime.indexOf("/") != -1) {
var item = strDateTime.split(" ");
arrDate = item[0].toString().split("/");
arrTime = item[1].toString().split(":");
}

//处理数据
if (arrDate != undefined && arrTime != undefined
&& arrDate.length == 3 && arrTime.length == 3) {
newDate = new Date(
parseInt(arrDate[0]),
parseInt(arrDate[1]),
parseInt(arrDate[2]),
parseInt(arrTime[0]),
parseInt(arrTime[1]),
parseInt(arrTime[2])
);

switch (Number(intType)) {
case 1: //格式:yyyy-MM-dd
years = newDate.getFullYear();

month = newDate.getMonth();
if (Number(month) < 10) month = "0" + month;

days = newDate.getDate();
if (Number(days) < 10) days = "0" + days;

newDate = years + "-" + month + "-" + days;
break;
case 2: //格式:MM-dd HH:mm
month = newDate.getMonth();
if (Number(month) < 10) month = "0" + month;

days = newDate.getDate();
if (Number(days) < 10) days = "0" + days;

hours = newDate.getHours();
if (Number(hours) < 10) hours = "0" + hours;

minutes = newDate.getMinutes();
if (Number(minutes) < 10) minutes = "0" + minutes;

newDate = month + "-" + days +
" " + hours + ":" + minutes;
break;
case 3: //格式:HH:mm:ss
hours = newDate.getHours();
if (Number(hours) < 10) hours = "0" + hours;

minutes = newDate.getMinutes();
if (Number(minutes) < 10) minutes = "0" + minutes;

seconds = newDate.getSeconds();
if (Number(seconds) < 10) seconds = "0" + seconds;

newDate = hours + ":" + minutes + ":" + seconds;
break;
case 4: //格式:HH:mm
hours = newDate.getHours();
if (Number(hours) < 10) hours = "0" + hours;

minutes = newDate.getMinutes();
if (Number(minutes) < 10) minutes = "0" + minutes;

newDate = hours + ":" + minutes;
break;
case 5: //格式:yyyy-MM-dd HH:mm
years = newDate.getFullYear();

month = newDate.getMonth();
if (Number(month) < 10) month = "0" + month;

days = newDate.getDate();
if (Number(days) < 10) days = "0" + days;

hours = newDate.getHours();
if (Number(hours) < 10) hours = "0" + hours;

minutes = newDate.getMinutes();
if (Number(minutes) < 10) minutes = "0" + minutes;

newDate = years + "-" + month + "-" + days +
" " + hours + ":" + minutes;
break;
case 6: //格式:yyyy/MM/dd
years = newDate.getFullYear();

month = newDate.getMonth();
if (Number(month) < 10) month = "0" + month;

days = newDate.getDate();
if (Number(days) < 10) days = "0" + days;

newDate = years + "/" + month + "/" + days;
break;
case 7: //格式:MM/dd HH:mm
month = newDate.getMonth();
if (Number(month) < 10) month = "0" + month;

days = newDate.getDate();
if (Number(days) < 10) days = "0" + days;

hours = newDate.getHours();
if (Number(hours) < 10) hours = "0" + hours;

minutes = newDate.getMinutes();
if (Number(minutes) < 10) minutes = "0" + minutes;

newDate = month + "/" + days +
" " + hours + ":" + minutes;
break;
case 8: //格式:yyyy/MM/dd HH:mm
years = newDate.getFullYear();

month = newDate.getMonth();
if (Number(month) < 10) month = "0" + month;

days = newDate.getDate();
if (Number(days) < 10) days = "0" + days;

hours = newDate.getHours();
if (Number(hours) < 10) hours = "0" + hours;

minutes = newDate.getMinutes();
if (Number(minutes) < 10) minutes = "0" + minutes;

newDate = years + "/" + month + "/" + days +
" " + hours + ":" + minutes;
break;
case 9: //格式:yy-MM-dd
years = newDate.getFullYear();
years = years.toString().substr(2, 2);

month = newDate.getMonth();
if (Number(month) < 10) month = "0" + month;

days = newDate.getDate();
if (Number(days) < 10) days = "0" + days;

newDate = years + "-" + month + "-" + days;
break;
case 10: //格式:yy/MM/dd
years = newDate.getFullYear();
years = years.toString().substr(2, 2);

month = newDate.getMonth();
if (Number(month) < 10) month = "0" + month;

days = newDate.getDate();
if (Number(days) < 10) days = "0" + days;

newDate = years + "/" + month + "/" + days;
break;
case 11: //格式:yyyy年MM月dd hh时mm分
years = newDate.getFullYear();

month = newDate.getMonth();
if (Number(month) < 10) month = "0" + month;

days = newDate.getDate();
if (Number(days) < 10) days = "0" + days;

hours = newDate.getHours();
if (Number(hours) < 10) hours = "0" + hours;

minutes = newDate.getMinutes();
if (Number(minutes) < 10) minutes = "0" + minutes;

newDate = years + "年" + month + "月" + days +
" " + hours + "时" + minutes + "分";
break;
}
}
}
} catch (e) {
newDate = new Date();

return newDate.getFullYear() + "-" +
(newDate.getMonth() + 1) + "-" +
newDate.getDate() + " " +
newDate.getHours() + ":" +
newDate.getMinutes() + ":" +
newDate.getSeconds();
}

return newDate;
}
</script>
</head>
<body>
<script language="javascript" type="text/javascript">
//调用
document.writeln(formatDateTime("2014/04/16 22:34:45", 11));
</script>
</body>
</html>

(0)

相关推荐

  • JS比较两个时间大小的简单示例代码

    如下所示: 复制代码 代码如下: if (new Date(strSD.replace(/\-/g, '\/')) > new Date(strED.replace(/\-/g, '\/'))) { //开始时间大于了结束时间                alert("时间选择有误!开始日期必须小于或者等于结束时期!");                return false;}

  • js 时间函数应用加、减、比较、格式转换的示例代码

    复制代码 代码如下: // JavaScript Document //--------------------------------------------------- // 判断闰年 //--------------------------------------------------- Date.prototype.isLeapYear = function() { return (0==this.getYear()%4&&((this.getYear()%100!=0)||(

  • 比较简洁的JavaScript 实时显示时间的脚本 修正版

    JavaScript显示时间,时间还在走动着!不是一个静态的效果! function Time() 定义一个函数.  { if (!document.layers&&!document.all)  return 由于IE与Netscape对JavaScript的解释不同,造成浏览的效果不同,所以要分别写代码.这句话判断一下用户所使用的浏览器,如果两者都不是,就返回.  var timer=new Date() 定义一个新的变量,名字为timer,为一个新的Date的对象.  var hou

  • js时间比较示例分享(日期比较)

    复制代码 代码如下: <html> <head>  <script language="javascript" type="text/javascript">   /** 日期比较 **/   function compareDate(strDate1,strDate2)   {    var date1 = new Date(strDate1.replace(/\-/g, "\/"));    var dat

  • JavaScript比较当前时间是否在指定时间段内的方法

    本文实例讲述了JavaScript比较当前时间是否在指定时间段内的方法.分享给大家供大家参考,具体如下: function checkTime(stime, etime) { //开始时间 var arrs = stime.split("-"); var startTime = new Date(arrs[0], arrs[1], arrs[2]); var startTimes = startTime.getTime(); //结束时间 var arre = etime.split(

  • javascript 时间比较实现代码

    web开发中有时需要对输入框中的时间(主要是开始时间和结束时间)进行比较,网上搜索了一番,发现有不少是无效的,以下方法经小弟检验确实有效,特此共享.(请关注红色部分) function ValidtorTime(){ var   d1   = new  Date(document.getElementById('txbFromDate').value.replace(/\-/g, "\/"));        var   d2   = new  Date(document.getEle

  • js简单时间比较的方法

    本文实例讲述了js简单时间比较的方法.分享给大家供大家参考,具体如下: //时间比较(yyyy-MM-dd) function compareDate(startDate, endDate) { var arrStart = startDate.split("-"); var startTime = new Date(arrStart[0], arrStart[1], arrStart[2]); var startTimes = startTime.getTime(); var arr

  • JavaScript 比较时间大小的代码

    例如: Date.parse( "2000-01-01" ) IE and Mozilla浏览器: "NaN".那么我们一般在Web页面上显示的时 间 就不能直接转换.需要做处理. 可以直接转换的格式"01/01/2000","2000/01/01" 复制代码 代码如下: //定义正则表达式,因为jS对只能替换一个 //转换为 "2000/01/01" var regS = new RegExp("

  • 全面兼容的javascript时间格式化函数(比较实用)

    全面兼容的javascript时间格式化函数,实用总结! 复制代码 代码如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>js日期格式化</title

  • 详解JavaScript时间格式化

    感谢某前辈写的JS格式化日期和时间JS代码,很好很强大!!! 前言: js虽然提供了各种获取时间Date对象的不同属性方法,如:getDate 方法 | getDay 方法 | getFullYear 方法 | getHours 方法 ... ... 等等,但是却没有像java那样提供一个方法来供用户来根据自身提供的模板(pattern),来格式化指定时间对象,所以自己就封装了一个小方法,只供大家闲来调侃-.-,有好的建议还望慷慨指荐哦. 用到知识点: • arguments:该对象代表正在执行

  • JavaScript日期时间格式化函数分享

    这个函数经常用到,分享给大家. 函数代码: 复制代码 代码如下: Date.prototype.format = function(format){    var o = {    "M+" : this.getMonth()+1, //month    "d+" : this.getDate(),    //day    "h+" : this.getHours(),   //hour    "m+" : this.getM

  • VBS日期(时间)格式化函数代码

    核心代码 currentTimeStr1 = CStr(Year(Now()))&"-"&Right("0"&Month(Now()),2)&"-"&Right("0"&Day(Now()),2)&" "&Right("0"&Hour(Now()),2)&":"&Right(&qu

  • SQL 时间格式化函数

    1 取值后格式化 {0:d}小型:如2005-5-6 {0:D}大型:如2005年5月6日 {0:f}完整型 2 当前时间获取 DateTime.Now.ToShortDateString 3 取值中格式化 SQL Server里面可能经常会用到的日期格式转换方法: sql server使用convert来取得datetime日期数据,以下实例包含各种日期格式的转换 语句及查询结果: Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 1

  • JavaScript自定义日期格式化函数详细解析

    我们对 JavaScript 扩展其中一个较常的做法便是对 Date.prototype 的扩展.因为我们知道,Date 类只提供了若干获取日期元素的方法,如 getDate(),getMinute()--却没有一个转换为特定字符串的格式化方法.故所以,利用这些细微的方法,加以封装,组合我们想要的日期字符串形式.一般来说,该格式化函数可以定义在 Date 对象的原型身上,也可以独立一个方法写出.定义原型方法的操作如 Date.prototype.format = function(date){-

  • Javascript日期格式化format函数的使用方法

    前言 Javascript日期格式化在日常开发中还是挺常见的,那么下面就给大家分享Javascript时间格式format函数的两种使用方法示例,一起来看看. 方法一 Date.prototype.pattern=function(fmt) { var o = { "M+" : this.getMonth()+1, //月份 "d+" : this.getDate(), //日 "h+" : this.getHours()%12 == 0 ? 1

  • JavaScript内置日期、时间格式化时间实例代码

    一.基础知识(date对象的方法)

  • JavaScript时间转换处理函数

    JavaScript时间转换处理函数 /** * 将格式为yyyy-MM-dd hh:mm:ss.S的字符串转为Date * @param dateString 时间字符串 */ function convertToDate(dateString){ return new Date(dateString.replace(/\-/g,"/")); } /** * 比较时间 * @param date1 * @param date2 */ function compareDate(date

  • javascript时间函数基础介绍

    javascript时间函数 javascript提供了Date对象来进行时间和日期的计算. Date对象有多种构造函数: new Date() //当前时间new Date(milliseconds) //距离起始时间1970年1月1日的毫秒数new Date(datestring) //字符串代表的日期与时间.此字符串可以使用Date.parse()转换,比如"Jannuary 1, 1998 20:13:15"new Date(year, month, day, hours, m

随机推荐