广告位联系
返回顶部
分享到

js日期格式化yyyy-MM-dd问题

JavaScript 来源:互联网 作者:佚名 发布时间:2023-01-23 09:38:06 人浏览
摘要

js日期格式化yyyy-MM-dd 方法一 1 2 3 4 5 6 7 8 9 10 11 12 13 function formatDate(date) { console.log(date); // date = new Date(); date = new Date(Date.parse(date.replace(/-/g, /))); //转换成Data(); console.log(date); var y = date.

js日期格式化yyyy-MM-dd

方法一

1

2

3

4

5

6

7

8

9

10

11

12

13

function formatDate(date) {

console.log(date);

// date = new Date();

date = new Date(Date.parse(date.replace(/-/g, "/"))); //转换成Data();

console.log(date);

var y = date.getFullYear();

console.log(y);

var m = date.getMonth() + 1;

m = m < 10 ? '0' + m : m;

var d = date.getDate();

d = d < 10 ? ('0' + d) : d;

return y + '-' + m + '-' + d;

}

方法二

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

Date.prototype.format = function (fmt) {

var o = {

"M+": this.getMonth() + 1, //月份

"d+": this.getDate(), //日

"h+": this.getHours(), //小时

"m+": this.getMinutes(), //分

"s+": this.getSeconds(), //秒

"q+": Math.floor((this.getMonth() + 3) / 3), //季度

"S": this.getMilliseconds() //毫秒

};

if (/(y+)/.test(fmt)) {

fmt = fmt.replace(RegExp.$1, (this.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;

}

方法二调用:

1

new Date(addtime).format("yyyy-MM-dd");   //addtime这个是时间字符

yyyy-MM-dd和YYYY-MM-dd格式化日期的区别你知道吗?

这里yyyy-MM-dd对于年份取值取得是当天所在的这个年份

而YYYY-MM-dd它所取的年份是本周所在的这个年份

这里我们就要注意一个问题

如果我们所格式化的这个日期它所在的周是一个跨年周的话 , 那么这里所取的年份就是第二年的年

 

接下来我们找一个case验证一下:

通过查看日历我们可以看到2021年12月31号它所在的周是一个跨年周

它这周开始于21年12月26号,结束于22年1月2号

接下来我们来演示一下

首先看代码我们分别创建了yyyy和YYYY两种日期格式化

然后生成了12月31号的这个日期

然后分别用这两种格式化对这两种日期进行输出

出大问题了

通过输出可以看到YYYY输出的日期是2022年,yyyy输出的日期是2021年

这就是它们两个的区别


版权声明 : 本文内容来源于互联网或用户自行发布贡献,该文观点仅代表原作者本人。本站仅提供信息存储空间服务和不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权, 违法违规的内容, 请发送邮件至2530232025#qq.cn(#换@)举报,一经查实,本站将立刻删除。
原文链接 : https://blog.csdn.net/sunsineq/article/details/114341746
相关文章
  • 用js实现一个网页版节拍器

    用js实现一个网页版节拍器
    平时练尤克里里经常用到节拍器,突发奇想自己用js开发一个。 最后实现的效果如下:ahao430.github.io/metronome/。 代码见github仓库:github.com/
  • js日期格式化yyyy-MM-dd问题

    js日期格式化yyyy-MM-dd问题
    js日期格式化yyyy-MM-dd 方法一 1 2 3 4 5 6 7 8 9 10 11 12 13 function formatDate(date) { console.log(date); // date = new Date(); date = new Date(Date.parse(date.replace(/-/g
  • Nodejs如何解决跨域(CORS)
    Nodejs解决跨域(CORS) 前后端分离的大环境下,受制于同源策略,我们需要懂得实现CORS(Cross-Origin Resource Sharing) 手动配置 在nodejs中,req 和
  • JS图形编辑器场景坐标视口坐标的相互转换

    JS图形编辑器场景坐标视口坐标的相互转换
    图形编辑器的坐标系有两种。 一个是场景(scene)坐标系,一个是视口(viewport)坐标系。视口就是场景的一个子区域。 假设我们的视口的
  • JS图形编辑器实现标尺功能

    JS图形编辑器实现标尺功能
    项目地址: https://github.com/F-star/suika 线上体验: https://blog.fstars.wang/app/suika/ 标尺指的是画布上边和左边的两个有刻度的尺子,作用让用户知
  • JS快速检索碰撞图形之四叉树碰撞检测

    JS快速检索碰撞图形之四叉树碰撞检测
    在上篇文章我们讨论了使用脏矩形渲染,通过重渲染局部的图形来提优化 Canvas 的性能,将 GPU 密集转换为 CPU 密集。 CPU 密集在哪? 在需要
  • three.js简单实现类似七圣召唤的掷骰子

    three.js简单实现类似七圣召唤的掷骰子
    1基本工作 笔者利用业余时间自学了three.js。为了更好的了解WebGL以及更熟练的使用three,想模仿原神中的小游戏七圣召唤中的投掷骰子效果,
  • JS技巧多状态页面中的mock方案介绍

    JS技巧多状态页面中的mock方案介绍
    我们有时候会遇到一个业务页面存在很多个状态,甚至子状态,比如订单详情就是其中的典型,涉及从订单创建到订单结束,以及售后等流
  • Node如何实现在浏览器预览项目的所有图片介绍

    Node如何实现在浏览器预览项目的所有图片介绍
    背景 在前端实际项目开发中,会有这样一种场景。每次引入新的图片,并不知道这个资源是否被引用过,所以会点开存放图片的资源一个个
  • bigScreen大屏配置选项无法和画布中心的展示联动

    bigScreen大屏配置选项无法和画布中心的展示联动
    问题1. 大屏的配置选项无法和画布中心的展示联动 解决过程: 大概找了2天时间,各种排查数据绑定的问题?文件传参的问题?找的过程中
  • 本站所有内容来源于互联网或用户自行发布,本站仅提供信息存储空间服务,不拥有版权,不承担法律责任。如有侵犯您的权益,请您联系站长处理!
  • Copyright © 2017-2022 F11.CN All Rights Reserved. F11站长开发者网 版权所有 | 苏ICP备2022031554号-1 | 51LA统计