/**
* 获取当前时间的简短函数
* @returns {String}
* @@example getTimeStamp() 结果是:2017-07-12 09:21:30
*/
function getTimeStamp() {
var date = new Date();
var o = {y: date.getFullYear(), m: date.getMonth() + 1, d: date.getDate(), h: date.getHours(), i: date.getMinutes(), s: date.getSeconds()};
var sout = o.y + "-" + (o.m < 10 ? '0' : '') + o.m + '-' + (o.d < 10 ? '0' : '') + o.d + ' ' + (o.h < 10 ? '0' : '') + o.h + ':' + (o.i < 10 ? '0' : '') + o.i + ':' + (o.s < 10 ? '0' : '') + o.s;
return sout;
}
console.log(getTimeStamp());
/**
* 将 Date 转化为指定格式的String
* 月(M)、日(d)、12小时(h)、24小时(H)、分(m)、秒(s)、周(E)、季度(q) 可以用 1-2 个占位符
* 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字)
* @param Date date
* @param string fmt
* @returns string
*/
function formatDate(date, fmt) { //author: meizz
var 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() //毫秒
};
var week = ["天", "一", "二", "三", "四", "五", "六"];
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 ? "星期" : "周") : "") + week[date.getDay() + ""]);
}
for (var 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 fmt;
}
// 示例
console.log(formatDate(new Date(), "yyyy-MM-dd hh:mm:ss.S")); // 2017-07-11 13:07:12
console.log(formatDate(new Date(), "yyyy-MM-dd HH:mm:ss")); // 2017-07-11 13:07:12
console.log(formatDate(new Date(), "yyyy-M-d h:m:s.S")); // 17-7-11 13:7:12
console.log(formatDate(new Date(), "yy-M-d H:m:s")); // 17-7-11 13:7:12
console.log(formatDate(new Date(), "yyyy-MM-dd E")); // 2017-07-11 13:07:12
console.log(formatDate(new Date(), "yyyy-MM-dd EE")); // 2017-07-11 13:07:12
console.log(formatDate(new Date(), "yyyy-MM-dd EEE")); // 2017-07-11 13:07:12 /**
* 判断指定日期是一年中的第几周
* @param Date date
* @return integer
*/
function getWeekNumber(date) {
var totalDays = 0;
var years = date.getYear()
if (years < 1000) {
years += 1900;
}
var days = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
//判断是否为闰年,针对2月的天数进行计算
if (Math.round(date.getYear() / 4) == date.getYear() / 4) {
days[1] = 29
}
var curMonth = date.getMonth();
totalDays = date.getDate();
for (var i = 0; i < curMonth; i++) {
totalDays += +days[i];
}
//那一年第一天是星期几
var yearFirstDay = new Date(years, 0, 1).getDay() || 7; var week = null;
if (yearFirstDay == 1) {
week = Math.ceil(totalDays / yearFirstDay);
} else {
totalDays -= (7 - yearFirstDay + 1);
week = Math.ceil(totalDays / 7) + 1;
}
return week;
}
// 示例
console.log(getWeekNumber(new Date())); //
console.log(getWeekNumber(new Date('2017-01-01'))); //
console.log(getWeekNumber(new Date('2017-12-31'))); //
console.log(getWeekNumber(new Date('2000-05-08'))); //

下载:[js_date_function_demo.zip]

版权声明:本文采用署名-非商业性使用-相同方式共享(CC BY-NC-SA 3.0 CN)国际许可协议进行许可,转载请注明作者及出处。
本文标题:代码收藏系列--javascript--日期函数
本文链接:http://www.cnblogs.com/sochishun/p/7150428.html
本文作者:SoChishun (邮箱:14507247#qq.com | 博客:http://www.cnblogs.com/sochishun/)
发表日期:2017年7月11日

代码收藏系列--javascript--日期函数的更多相关文章

  1. 代码收藏系列--mysql--创建数据库、数据表、函数、存储过程命令

    创建mysql数据库 CREATE DATABASE IF NOT EXISTS `database_name` DEFAULT CHARSET utf8 COLLATE utf8_general_c ...

  2. 代码收藏系列--php--生成简短唯一订单号(转载)

    代码收藏系列--php--生成简短唯一订单号 /** * 生成商家交易单号 * <br />特点:不重复 * <br />示例: * <br />普通付款:arra ...

  3. 代码收藏系列--php--生成简短唯一订单号

    /** * 生成商家交易单号 * <br />特点:不重复 * <br />示例: * <br />普通付款:array('shop_id'=>1,'prod ...

  4. 代码收藏系列--jquery--筛选器、事件绑定技巧

    Jquery筛选器的一些常用技巧,比如过滤属性等 /* 过滤获取没有含data-xsui-grid-colspan的节点 */$(this).find('.xsui-grid-cell:not([da ...

  5. 代码收藏系列--php--加载sql文件并解析成数组

    php加载sql文件,解析成以分号分割的数组.(支持存储过程和函数提取,自动过滤注释) /** * 加载sql文件为分号分割的数组 * <br />支持存储过程和函数提取,自动过滤注释 * ...

  6. 代码收藏系列--jquery--筛选器、事件绑定技巧(转载)

    代码收藏系列--jquery--筛选器.事件绑定技巧 Jquery筛选器的一些常用技巧,比如过滤属性等 /* 过滤获取没有含data-xsui-grid-colspan的节点 */$(this).fi ...

  7. 代码收藏系列--javascript--移动端技巧

    JS判断是否是手机端访问: var is_mobi = navigator.userAgent.toLowerCase().match(/(ipod|iphone|android|coolpad|mm ...

  8. javascript日期函数

    时间对象是一个我们经常要用到的对象,无论是做时间输出.时间判断等操作时都与这个对象离不开.除开JavaScript中的时间对象外,在VbScript中也有许多的时间对象,而且非常好用.下面还是按照我们 ...

  9. javascript 日期函数

    获取当前日期的前一天的日期    var MyDate = new Date( );  //获取昨天的日期    var yesterday = myDate.getTime()-1000*60*60 ...

随机推荐

  1. Centos7部署Kubernetes集群(单工作节点)+配置dashboard可视化UI

    目标:docker+kubernetes+cadvosor+dashboard 一:物理硬件 两台虚拟机(centos7):一台做为主节点(master),一台做为工作节点(node) [root@M ...

  2. 从零开始的Python学习Episode 12——迭代器&生成器

    生成器 列表生成式 用于快速地生成一个列表 a = [x*x for x in range(1,9)] print(a) #输出[1, 4, 9, 16, 25, 36, 49, 64] 也可以用于生 ...

  3. Amazon 成功的秘訣是…

    從任何的標準去看,今日的 Amazon,都是一家超級成功的企業 — 它的線上書城和其他 B2C 電子商務業務,全球第一,年營業額超過 200 億美金.它的 AWS (Amazon Web Servic ...

  4. 获取文件夹下某个类型的文件名---基于python

    方法1:import osclass flist_name(): def __init__(self,path): self.flist_name=os.listdir(path) def pcap_ ...

  5. curl和file_get_contents 区别以及各自的优劣

    PHP中fopen,file_get_contents,curl函数的区别: 1.fopen /file_get_contents 每次请求都会重新做DNS查询,并不对 DNS信息进行缓存.但是CUR ...

  6. Thunder团队第七周 - Scrum会议4

    Scrum会议4 小组名称:Thunder 项目名称:i阅app Scrum Master:翟宇豪 工作照片: 宋雨在照相,所以不在相片中. 参会成员: 王航:http://www.cnblogs.c ...

  7. [CF] Sasha and One More Name

    题目大意 就是给一个回文串,然后进行k次分割,产生k+1个字符子串,通过重新组合这k+1个字符字串,是否会出现新的不同的回文串,且最少需要分割几段.无法产生新的回文串则输出"Impossib ...

  8. alpha冲刺(事后诸葛亮)

    [设想和目标] Q1:我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? "小葵日记"是为了解决18-30岁年轻用户在记录生活时希望得到一美体验友好 ...

  9. c语言基础笔记

    一 :数据类型 1.float类型,在输出的时候可以使用 .数字  来把浮点数精确到小数点后几位,比如 printf("%.3f",float)精确到小数点后三位,不足补0 2.字 ...

  10. jstack笔记

    遇到java程序跑不动怎么办,jstack是比较容易想到的一个工具,利用jstack来dump出一个线程堆栈快照,然后具体分析. 一般的堆栈大概是由下面的部分组成的: "resin-2212 ...