js时间处理,返回各种格式

export default {

// 日期格式化

/**

* 将 Date 转化为指定格式的String

* 月(M)、日(d)、12小时(h)、24小时(H)、分(m)、秒(s)、周(E)、季度(q)、早午晚(T) 可以用 1-2 个占位符

* 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字)

* eg:

* format(new Date(),"yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423

* format(new Date(),"yyyy-MM-dd E HH:mm:ss") ==> 2009-03-10 二 20:09:04

* format(new Date(),"yyyy-MM-dd EE hh:mm:ss") ==> 2009-03-10 周二 08:09:04

* format(new Date(),"yyyy-MM-dd EEE hh:mm:ss") ==> 2009-03-10 星期二 08:09:04

* format(new Date(),"yyyy-M-d h:m:s.S") ==> 2006-7-2 8:9:4.18

* format(new Date(),"yyyy/MM/dd (EEE) T hh:mm") ==> 2017/09/06 (星期三) 下午 05:01

*

*/

DateUtil: {

// 获取date对象 可传字符串 兼容ios safari

date (val) {

if (!val) return false

if (!val.getTime) {

let arr = val.split(/[- : T /]/)

return new Date(arr[0], arr[1] - 1, arr[2], arr[3], arr[4], arr[5])

} else {

return val

}

},

format (date, fmt) {

date = this.date(date)

let o = {

‘M+‘: date.getMonth() + 1, // 月份

‘d+‘: date.getDate(), // 日

‘h+‘: date.getHours() % 12 === 0 ? 12 : date.getHours() % 12, // 小时

‘H+‘: date.getHours(), // 小时

‘m+‘: date.getMinutes(), // 分

‘s+‘: date.getSeconds(), // 秒

‘q+‘: Math.floor((date.getMonth() + 3) / 3), // 季度

‘S‘: date.getMilliseconds() // 毫秒

}

let week = {

‘0‘: ‘\u65e5‘,

‘1‘: ‘\u4e00‘,

‘2‘: ‘\u4e8c‘,

‘3‘: ‘\u4e09‘,

‘4‘: ‘\u56db‘,

‘5‘: ‘\u4e94‘,

‘6‘: ‘\u516d‘

}

let time = {

‘0‘: ‘\u51cc\u6668‘, // 上午

‘1‘: ‘\u4e0a\u5348‘, // 下午

‘2‘: ‘\u4e0b\u5348‘, // 晚上

‘3‘: ‘\u665a\u4e0a‘ // 凌晨

}

if (/(y+)/.test(fmt)) {

fmt = fmt.replace(RegExp.$1, (date.getFullYear() + ‘‘).substr(4 - RegExp.$1.length))

}

if (/(E+)/.test(fmt)) {

fmt = fmt.replace(RegExp.$1, ((RegExp.$1.length > 1) ? (RegExp.$1.length > 2 ? ‘/u661f/u671f‘ : ‘/u5468‘) : ‘‘) + week[date.getDay() + ‘‘])

}

if (/(T)/.test(fmt)) {

fmt = fmt.replace(RegExp.$1, time[parseInt(date.getHours() / 6)])

}

for (let k in o) {

if (new RegExp(‘(‘ + k + ‘)‘).test(fmt)) {

fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? (o[k]) : ((‘00‘ + o[k]).substr((‘‘ + o[k]).length)))

}

}

return unescape(fmt.replace(/\/u/g, ‘%u‘))

}

}

}

原文地址:https://www.cnblogs.com/fm060/p/9979169.html

时间: 2024-08-30 13:55:45

js时间处理,返回各种格式的相关文章

JS时间的获取及格式

最近在做一个web聊天室,一个时间的问题挡住了进程,只好全网大搜索,将实用的方法记录下来,以备后查 1 <script src="/static/bootstrap/js/jquery.min.js"></script> 2 <script type="text/javascript"> 3 4 var d = new Date() //生成一个时间对象 5 6 //下面进行各种调用 7 var times=d.getTime()

js 时间格式转换

js时间格式转换 格式化时间转成时间戳 //格式化转时间戳(单位秒) function strtotime(strtime) { strtime = strtime.substring(0, 19); strtime = strtime.replace(/-/g, '/'); strtime = new Date(strtime).getTime() / 1000; return strtime; } 时间戳转格式化时间 //时间戳(单位秒)转格式化 function getMyDate(str

js时间格式化函数,支持Unix时间戳

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta charset="utf-8"> <title>js时间格式化函数,支持Unix时间戳</title> </head>

js时间操作

js时间操作 var myDate = new Date(); myDate.getYear();       //获取当前年份(2位) myDate.getFullYear();   //获取完整的年份(4位,1970-????) myDate.getMonth();      //获取当前月份(0-11,0代表1月)(要加1) myDate.getDate();       //获取当前日(1-31) myDate.getDay();        // 获取当前星期X(0-6,0代表星期天

js时间格式化详解

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

js 时间函数 及相关运算大全

js 时间函数 及相关运算大全 var myDate = new Date(); myDate.getYear();        //获取当前年份(2位) myDate.getFullYear();    //获取完整的年份(4位,1970-????) myDate.getMonth();       //获取当前月份(0-11,0代表1月) myDate.getDate();        //获取当前日(1-31) myDate.getDay();         //获取当前星期X(0-

使用getJSON()异步请求服务器返回json格式数据

我们可以使用jquery的getJSON()方法请求服务器返回json格式数据: js代码: function test(){ $.getJSON("JsonServlet",function(result){ alert(result.name); }); } 服务器端servlet响应: @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletEx

js 时间操作 转载

Js获取当前日期时间及其它操作 var myDate = new Date();myDate.getYear();        //获取当前年份(2位)myDate.getFullYear();    //获取完整的年份(4位,1970-????)myDate.getMonth();       //获取当前月份(0-11,0代表1月)myDate.getDate();        //获取当前日(1-31)myDate.getDay();         //获取当前星期X(0-6,0代表

jquery ajax调用返回json格式数据处理

Ajax请求默认的都是异步的 如果想同步 async设置为false就可以(默认是true) var html = $.ajax({ url: "some.php", async: false }).responseText; 返回json数组取条数用result.length <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs"