文档章节

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

一点灵犀
 一点灵犀
发布于 2015/04/13 14:43
字数 329
阅读 373
收藏 0
点赞 0
评论 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;
}

参考链接:

© 著作权归作者所有

共有 人打赏支持
一点灵犀

一点灵犀

粉丝 10
博文 51
码字总数 15202
作品 1
深圳
程序员
JavaScript日期处理类库--Moment.js

Moment.js 是一个简单易用的轻量级JavaScript日期处理类库,提供了日期格式化、日期解析等功能。它支持在浏览器和NodeJS两种环境中运行。此类库能够将给定的任意日期转换成多种不同的格式,具...

匿名 ⋅ 2011/12/11 ⋅ 5

jedate-开始使用一款好用的时间插件

jeDate日期控件 -(原生JS版)jeDate V6.5.0 是一款原生JS开发的 不依赖任何第三方库 大众化的日期控件,包含 多语言、设定年月(YYYY-MM)、日期范围限制、开始日期设定、自定义日期格式、根...

祈澈姑娘 ⋅ 05/12 ⋅ 0

struts2日期标签小结

想使用struts2的日期标签 首先需要在<head></head>里加上<s:head/> 否则不会引用日期控件需要调用的javascript 先说说<s:date>的用法: <s:date name="orderDate" format="yyyy-MM-dd" /> 就......

heiyexue ⋅ 2014/06/21 ⋅ 0

js 获取前天、昨天、今天、明天、后天的时间

js 获取前天、昨天、今天、明天、后天的时间 2011-05-19 21:03 js获取日期:前天、昨天、今天、明天、后天 - Liehuo.Net

云栖希望。 ⋅ 2017/12/04 ⋅ 0

JavaScript图表的时间解析功能(2):日期格式化方法

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

詹真琦 ⋅ 2013/12/04 ⋅ 0

Hutool之时间工具——DateUtil

时间工具类 考虑到Java本身对日期时间的支持有限,并且Date和Calendar对象的并存导致各种方法使用混乱和复杂,故使用此工具类做了封装。这其中的封装主要是日期和字符串之间的转换,以及提供...

路小磊 ⋅ 2014/05/24 ⋅ 2

用JavaScript(js)对时间格式化

可以说是Web项目中不可或缺的一个Javascript类库,它可以帮助你快速的解决客户端编程的许多问题,下面贴出一个用js格式化时间的方法。 以上代码必须先声明,然后在使用。使用方法: var d =n...

zh119893 ⋅ 2014/05/14 ⋅ 0

一篇文章吃透iOS、JS的时间日期(Date, Calendar, Locale, TimeZone)

iOS 时间相关类 NSDate - 表示一个绝对的时间点。 NSCalendar - 代表一个特定的日历,例如公历或者希伯来日历。它提供了一系列基于日期的计算,并且可以让你在"NSDate"和"NSDateComponents"对...

奶爸码农 ⋅ 05/09 ⋅ 0

Asp.net中具体的日期格式化用法

1.绑定时格式化日期方法: 2.数据控件如DataGrid/DataList等的件格式化日期方法: e.Item.Cell[0].Text = Convert.ToDateTime(e.Item.Cell[0].Text)...

晨曦之光 ⋅ 2012/03/09 ⋅ 0

ASP.NET格式化日期

1.绑定时格式化日期方法: 2.数据控件如DataGrid/DataList等的件格式化日期方法: e.Item.Cell[0].Text = Convert.ToDateTime(e.Item.Cell[0].Text)...

晨曦之光 ⋅ 2012/03/09 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Centos7重置Mysql 8.0.1 root 密码

问题产生背景: 安装完 最新版的 mysql8.0.1后忘记了密码,向重置root密码;找了网上好多资料都不尽相同,根据自己的问题总结如下: 第一步:修改配置文件免密码登录mysql vim /etc/my.cnf 1...

豆花饭烧土豆 ⋅ 今天 ⋅ 0

熊掌号收录比例对于网站原创数据排名的影响[图]

从去年下半年开始,我在写博客了,因为我觉得业余写写博客也还是很不错的,但是从2017年下半年开始,百度已经推出了原创保护功能和熊掌号平台,为此,我也提交了不少以前的老数据,而这些历史...

原创小博客 ⋅ 今天 ⋅ 0

LVM讲解、磁盘故障小案例

LVM LVM就是动态卷管理,可以将多个硬盘和硬盘分区做成一个逻辑卷,并把这个逻辑卷作为一个整体来统一管理,动态对分区进行扩缩空间大小,安全快捷方便管理。 1.新建分区,更改类型为8e 即L...

蛋黄Yolks ⋅ 今天 ⋅ 0

Hadoop Yarn调度器的选择和使用

一、引言 Yarn在Hadoop的生态系统中担任了资源管理和任务调度的角色。在讨论其构造器之前先简单了解一下Yarn的架构。 上图是Yarn的基本架构,其中ResourceManager是整个架构的核心组件,它负...

p柯西 ⋅ 今天 ⋅ 0

uWSGI + Django @ Ubuntu

创建 Django App Project 创建后, 可以看到路径下有一个wsgi.py的问题 uWSGI运行 直接命令行运行 利用如下命令, 可直接访问 uwsgi --http :8080 --wsgi-file dj/wsgi.py 配置文件 & 运行 [u...

袁祾 ⋅ 今天 ⋅ 0

JVM堆的理解

在JVM中,我们经常提到的就是堆了,堆确实很重要,其实,除了堆之外,还有几个重要的模块,看下图: 大 多数情况下,我们并不需要关心JVM的底层,但是如果了解它的话,对于我们系统调优是非常...

不羁之后 ⋅ 昨天 ⋅ 0

推荐:并发情况下:Java HashMap 形成死循环的原因

在淘宝内网里看到同事发了贴说了一个CPU被100%的线上故障,并且这个事发生了很多次,原因是在Java语言在并发情况下使用HashMap造成Race Condition,从而导致死循环。这个事情我4、5年前也经历...

码代码的小司机 ⋅ 昨天 ⋅ 2

聊聊spring cloud gateway的RetryGatewayFilter

序 本文主要研究一下spring cloud gateway的RetryGatewayFilter GatewayAutoConfiguration spring-cloud-gateway-core-2.0.0.RC2-sources.jar!/org/springframework/cloud/gateway/config/G......

go4it ⋅ 昨天 ⋅ 0

创建新用户和授予MySQL中的权限教程

导读 MySQL是一个开源数据库管理软件,可帮助用户存储,组织和以后检索数据。 它有多种选项来授予特定用户在表和数据库中的细微的权限 - 本教程将简要介绍一些选项。 如何创建新用户 在MySQL...

问题终结者 ⋅ 昨天 ⋅ 0

android -------- 颜色的半透明效果配置

最近有朋友问我 Android 背景颜色的半透明效果配置,我网上看资料,总结了一下, 开发中也是常常遇到的,所以来写篇博客 常用的颜色值格式有: RGB ARGB RRGGBB AARRGGBB 这4种 透明度 透明度...

切切歆语 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部