JavaScript 时间戳格式化日期

JavaScript 时间戳格式化日期JavaScript时间戳格式化日期项目中从后台获取接口数据时常需要按自己的需求将时间戳转化为对应的日期格式。//时间戳格式化为日期functionformatDate(timestamp,fmt){//这里传入的timestamp应该是Number数值,如果是字符串,需要先转换为Number//vartimestamp=parseInt(timestamp)vardate=newDate(timestamp)if(/(y+)/.tes

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

JavaScript 时间戳格式化日期

项目中从后台获取接口数据时常需要按自己的需求将时间戳转化为对应的日期格式。

// 时间戳格式化为日期
function formatDate(timestamp, fmt) { 
   
    // 这里传入的timestamp应该是Number数值,如果是字符串,需要先转换为Number
    // var timestamp=parseInt(timestamp)
    var date = new Date(timestamp)
    if (/(y+)/.test(fmt)) { 
   
        // $1标识第一个子串中的内容;这里当fmt格式中年份少于4位时,从后往前取
        fmt = fmt.replace(RegExp.$1, (date.getFullYear() + "").substr(4 - RegExp.$1.length));
    }

    let o = { 
   
        "M+": date.getMonth() + 1,
        "d+": date.getDay(),
        "h+": date.getHours(),
        "m+": date.getMinutes(),
        "s+": date.getSeconds()
    };

    for (let key in o) { 
   
        if (new RegExp(`(${ 
     key})`).test(fmt)) { 
   
            let str = o[key] + "";
            fmt = fmt.replace(RegExp.$1, str.length === 2 ? str : padLeftZero(str));
        }
    }
    return fmt;
}

// 函数padLeftZero的作用:如果月份为1位(如9),则在其左边补0(变为09)
function padLeftZero(str) { 
   
    return "0" + str.substr(str.length - 1)
}

// 举例. timestamp格式应为13位,时间戳为10位的话,需要x1000
let res = formatDate(1469261934000, 'yyyy/MM/dd hh:mm:ss');
console.log(res); //2016/07/06 16:18:54



Jetbrains全家桶1年46,售后保障稳定

**增加日期转化为时间戳方法,此处暂未考虑兼容性问题,后期可优化补充。

// 时间戳格式化为日期
function formatTimestamp(dateNow) { 
   
    let date=new Date(dateNow);
    // 方式1
    // const time1=date.getTime();
    // 方式2
    // const time1=date.valueOf();
    // 方式3
    const time1=Date.parse(dateNow);
    return time1;
}

let res = formatTimestamp('2016/07/06 16:18:54');
console.log(res); //1467793134000




版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/215451.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 按位异或解题技巧「建议收藏」

    按位异或解题技巧「建议收藏」按位异或可以解决类似开灯问题一类的问题。首先了解下什么是按位异或:异或运算:首先异或表示当两个数的二进制表示,进行异或运算时,当前位的两个二进制表示不同则为1相同则为0.该方法被广泛推广用来统计一个数的1的位数!参与运算的两个值,如果两个相应bit位相同,则结果为0,否则为1。即:  0^0=0,  1^0=1,  0^1=1,  1^1=0按位异或的3个特点:…

    2022年6月4日
    38
  • JS数组合并(5种)[通俗易懂]

    JS数组合并(5种)[通俗易懂]前言项目过程中,经常会遇到JS数组合并的情况,时常为这个纠结。这里整理一下。简单而实用的for最容易想到的莫过于for了。会变更原数组,当然也可以写成生成新数组的形式。letarr=[1,2]letarr2=[3,4]for(letiinarr2){arr.push(arr2[i])}console.log(arr)//[1,2,3,4]arr.concat(arr2)会生成新的数组。letarr=[1,2]let

    2022年6月30日
    41
  • coco2dx c++ HTTP实现

    coco2dx c++ HTTP实现

    2021年12月17日
    61
  • ASP.NET MVC商城网站

    ASP.NET MVC商城网站本项目使用了大量的插件,所有的商品数据皆为动态加载,全部从数据库中读取呈现在界面上,具备商品评论,添加/移除购物车商品,邮箱发送验证码进行注册等功能。同时本项目配备商品后台管理系统,用来对商品信息和用户信息进行管理,同时还可查看商品的相关数据汇总。本项目仅用于学习参考,作为练习或者是实训项目也是刚刚好。界面展示(部分)代码太多了,就不进行部分展示了。…

    2022年7月22日
    14
  • IntelliJ IDEA常用设置和好用插件,不定时更新 2021-08-12更新

    IntelliJ IDEA常用设置和好用插件,不定时更新 2021-08-12更新一:设置方面1:改黑色背景主题2:改字体设置到手第一件事就是改字体,改idea显示字体,和代码显示字体首先改软件显示字体及大小,最喜欢使用的是CourierNew字体然后改代码编辑区字体及大小和字体间距3注释模板设置首先是新创建文件时的文档注释/***[description]*@Author:某某某*@Date:${DATE}*@versionv1….

    2022年5月19日
    119
  • 【Spring】总结Spring整合Mybatis的底层原理实现步骤[通俗易懂]

    【Spring】总结Spring整合Mybatis的底层原理实现步骤[通俗易懂]SpringMyBatisDao:数据访问层,提供让Service层调用的接口,更大的时候,Dao层可以是一个项目。sqlSession.getMapper();使用的是JDK的动态代理使用时自定注入的条件:要被Spring管理。被Spring管理的对象叫做Bean对象和Bean的区别:@Component注解表示将生成一个BeanBean就是一个Java对象,是Spring…

    2022年5月18日
    38

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号