JavaScript 中日期转换

这篇博客详细介绍了JavaScript中日期对象的使用,包括newDate()、getDate()、getDay()等方法,以及日期与时间字符串、时间戳之间的转换。通过自定义Format方法展示了如何格式化日期,同时提供了两种日期字符串转Date对象的方法。此外,还涵盖了时间戳与Date对象、日期字符串的相互转换。内容深入浅出,是理解JavaScript日期操作的重要参考资料。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JavaScript 中日期转换

new Date():返回当日的日期和时间

Tue Dec 01 2020 10:25:42 GMT+0800 (中国标准时间)
getDate()从 Date 对象返回一个月中的某一天 (1 ~ 31)。
getDay()从 Date 对象返回一周中的某一天 (0 ~ 6)。
getMonth()从 Date 对象返回月份 (0 ~ 11)。
getFullYear()从 Date 对象以四位数字返回年份。
getHours()返回 Date 对象的小时 (0 ~ 23)。
getMinutes()返回 Date 对象的分钟 (0 ~ 59)。
getSeconds()返回 Date 对象的秒数 (0 ~ 59)。
getMilliseconds()返回 Date 对象的毫秒(0 ~ 999)。
getTime()返回 1970 年 1 月 1 日至今的毫秒数。

注意大部分的时间是从0开始计数的,转换时需要加1

1. Date对象转换为日期字符串
Date.prototype.Format = function(formatStr) {
        var str = formatStr;
        var Week = ['日', '一', '二', '三', '四', '五', '六'];
        str = str.replace(/yyyy|YYYY/, this.getFullYear());
        str = str.replace(/yy|YY/, (this.getYear() % 100) > 9 ? (this.getYear() % 100).toString() : '0' + (this.getYear() % 100));
        str = str.replace(/MM/, (this.getMonth() + 1) > 9 ? (this.getMonth() + 1).toString() : '0' + (this.getMonth() + 1));
        str = str.replace(/M/g, (this.getMonth() + 1));
        str = str.replace(/w|W/g, Week[this.getDay()]);
        str = str.replace(/dd|DD/, this.getDate() > 9 ? this.getDate().toString() : '0' + this.getDate());
        str = str.replace(/d|D/g, this.getDate());
        str = str.replace(/hh|HH/, this.getHours() > 9 ? this.getHours().toString() : '0' + this.getHours());
        str = str.replace(/h|H/g, this.getHours());
        str = str.replace(/mm/, this.getMinutes() > 9 ? this.getMinutes().toString() : '0' + this.getMinutes());
        str = str.replace(/m/g, this.getMinutes());
        str = str.replace(/ss|SS/, this.getSeconds() > 9 ? this.getSeconds().toString() : '0' + this.getSeconds());
        str = str.replace(/s|S/g, this.getSeconds());
        return str
    }
    console.log(new Date().Format("yyyy-MM-dd hh:mm:ss"))

prototype 属性使您有能力向对象添加属性和方法。

当构造一个原型,所有的日期对象都会默认添加属性和方法。

向Date对象添加Format方法

2. 日期字符串转换为Date对象
① 方法一
var strArray=str.split(" ");   
var strDate=strArray[0].split("-");   
var strTime=strArray[1].split(":");   
var a=new Date(strDate[0],(strDate[1]-parseInt(1)),strDate[2],strTime[0],strTime[1],strTime[2]) 
② 方法二

日期字符串 —> 时间戳 —> Date对象

var d= new Date(Date.parse(str.replace(/-/g,"/")));

正则表达式后面的全局标记 g 指定将该表达式应用到输入字符串中能够查找到的尽可能多的匹配。

表达式的结尾处的不区分大小写 i 标记指定不区分大小写。

3. Date对象转换为时间戳
var d = new Date();
d.getTime();
(d).valueOf();
Date.parse(d)
4. 时间戳转换为Date类型
var timestamp1 = "1172629110000"
Date d = new Date(timestamp1)
5. 日期字符串转换为时间戳
Date.parse(str.replace(/-/g,"/"));

年月日不能以横杠连接

6. 时间戳转换为日期字符串

日期字符串 —> 时间戳 —> Date对象

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值