文档章节

JS日期格式化(从YYYY-MM-DD到日期类)

一点灵犀
 一点灵犀
发布于 2015/04/13 14:43
字数 329
阅读 440
收藏 0

字符串格式日期利用阅读,但不利于标准化存储,可以通过以下函数转化为Javascript日期类:

// date = '2015-02-15'
function parseISO8601(date){
    var matches = date.match(/^\s*(\d{4})-(\d{1,2})-(\d{1,2})\s*$/);
    if(matches){
        this.setFullYear(parseInt(matches[1]));
        this.setMonth(parseInt(matches[2]) - 1);
        this.setDate(parseInt(matches[3]));
    }
    return this;
}

不过这样得到的日期是本地时间,如果要保存为标准时间戳(Timestamp),需使用setUTCFullYearsetUTCHours方法:

// datetime = '2015-02-15 11:15:00'
function datetimeToTimestamp(datetime) {
    var a = datetime.split(" ");
    var d = a[0].split("-");
    var t = a[1].split(":");
    var date = new Date();
    date.setUTCFullYear(d[0],(d[1] - 1),d[2]);
    date.setUTCHours(t[0],t[1],t[2],0);

    return date.getTime();
}

补充一个日期转字符串格式化方法:

/**
 * 将 Date 转化为指定格式的string(本地时间)
 * @function formatDate
 * @param {Date} date
 * @param {string} [fmt=yyyy-MM-dd HH:mm:ss]
 * @returns {String}
*/
function formatDate (date, fmt) {
    if (!date || isNaN(date)) return '';
    if (!fmt) fmt = 'yyyy-MM-dd HH:mm:ss';
    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()    //秒
    };
    if (/(y+)/.test(fmt)) {
        fmt = fmt.replace(RegExp.$1, (date.getFullYear() + "").substr(4 - RegExp.$1.length));
    }
    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;
}

参考链接:

本文转载自:

共有 人打赏支持
一点灵犀

一点灵犀

粉丝 11
博文 53
码字总数 15777
作品 1
深圳
程序员
私信 提问
在Bootstrap开发框架中使用bootstrap-datepicker插件

在基于Boostrap的Web开发中,往往需要录入日期内容,基于Boostrap的插件中,关于日期的录入可以使用bootstrap-datepicker这个非常不错的插件,以替代默认的type=date这种不太友好的日期录入控...

伍华聪
2018/10/22
0
0
分享一段js日期格式化代码

分享一段收集的js代码,实现日期格式化,格式自定义,扩展了基础Date 用法:new Date().format('yyyy年MM月dd日 hh:mm:ss') new Date().format('yy年MM月dd日 hh:mm:ss') new Date().format......

爪哇小贩
2012/11/05
739
1
JavaScript图表的时间解析功能(2):日期格式化方法

目录[-] 用不同方式格式化日期 空白数据处理 在上一章内容我们讲解了amCharts的时间解析功能。今天对这个共鞥进行扩展,在amChart中使用不同方式格式化日期。 用不同方式格式化日期 你很有可...

詹真琦
2013/12/04
0
0
FineUIPro v3.2.0 发布,ASP.NET 控件库

FineUIPro v3.2.0 发布了,该版本更新如下: 78. 简化跨页选中行的实现 v3.2.0新增属性ClearSelectionBeforePaging,将原来 80 行实现代码简化为 8 行。 79. 大数据表格分页(网址数据源) ...

三生石上
2016/08/23
1K
6
简洁JS 日历控件 支持日期和月份选择

以下这个JS日历控件是我的闲暇之余自己编写的,所有的代码全部在IE7/IE8/Firefox下面测试通过, 而且可以解决被iframe层遮盖的问题。现在只提供两种风格(简洁版和古典版)和两种语言(英文和...

梦梦阁
2018/09/06
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周一乱弹 —— 白掌柜说了卖货不卖身

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @爱漫爱 :这是一场修行分享羽肿的单曲《Moony》 手机党少年们想听歌,请使劲儿戳(这里) @clouddyy :开不开心? 开心呀, 我又不爱睡懒觉…...

小小编辑
今天
8
0
大数据教程(11.7)hadoop2.9.1平台上仓库工具hive1.2.2搭建

上一篇文章介绍了hive2.3.4的搭建,然而这个版本已经不能稳定的支持mapreduce程序。本篇博主将分享hive1.2.2工具搭建全过程。先说明:本节就直接在上一节的hadoop环境中搭建了! 一、下载apa...

em_aaron
今天
3
0
开始看《JSP&Servlet学习笔记》

1:WEB应用简介。其中1.2.1对Web容器的工作流程写得不错 2:编写Servlet。搞清楚了Java的Web目录结构,以及Web.xml的一些配置作用。特别是讲了@WebServlet标签 3:请求与响应。更细致的讲了从...

max佩恩
今天
4
0
mysql分区功能详细介绍,以及实例

一,什么是数据库分区 前段时间写过一篇关于mysql分表的的文章,下面来说一下什么是数据库分区,以mysql为例。mysql数据库中的数据是以文件的形势存在磁盘上的,默认放在/mysql/data下面(可...

吴伟祥
今天
3
0
SQL语句查询

1.1 排序 通过order by语句,可以将查询出的结果进行排序。放置在select语句的最后。 格式: SELECT * FROM 表名 ORDER BY 排序字段ASC|DESC; ASC 升序 (默认) DESC 降序 1.查询所有商品信息,...

stars永恒
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部