js实现把时间戳转换为yyyy-MM-dd hh:mm 格式(es6语法)

yizhihongxing

当我们需要将时间戳转换为特定格式的日期时间字符串时,我们可以使用 JavaScript 中内置的 Date 对象来进行处理,然后使用字符串模板 (template string)即可实现。以下是将时间戳转换为 yyyy-MM-dd hh:mm 格式的完整攻略。

1. 创建 Date 实例

首先,我们需要通过 Date() 构造函数创建一个 Date 实例,构造函数可以接收代表日期时间的参数,其中最基本的就是时间戳。时间戳是 UNIX 时间,是自 1970 年 1 月 1 日 00:00:00 UTC(协调世界时)以来所经过的秒数。

const timestamp = 1609459200; // 2021 年 1 月 1 日 00:00:00 的时间戳
const date = new Date(timestamp * 1000);

需要注意的是,我们需要将从服务器端获取的时间戳 timestamp 转换成以毫秒为单位的时间戳,这是因为 JavaScript 中的时间戳是以毫秒为单位的。

2. 处理时间格式

接下来,我们需要将时间戳转换为指定格式的日期时间字符串。ES6 中提供了 Template String(模板字符串)的语法,可以将变量插入到字符串中。由于不同的时间单位(年、月、日、时、分、秒)可能需要不同的处理,因此我们需要分别处理。

const year = date.getFullYear();
const month = date.getMonth() + 1;
const day = date.getDate();
const hours = date.getHours();
const minutes = date.getMinutes();

const formattedDatetime = `${year}-${month}-${day} ${hours}:${minutes}`;

上述代码中,我们首先使用了 getFullYear() 方法来获取年份,然后使用了 getMonth() 方法来获取月份,需要注意的是,getMonth() 返回的下标从 0 开始,因此我们需要加上 1。同理,获取日期使用了 getDate() 方法,获取小时使用了 getHours() 方法,获取分钟使用了 getMinutes() 方法。

最后,我们使用字符串模板 (template string) 将所有的变量插入到字符串中,从而得到最终的日期时间字符串。

示例说明

示例一

以下是一个示例,将时间戳 1609459200 转换为 "2021-01-01 00:00" 的格式:

const timestamp = 1609459200;
const date = new Date(timestamp * 1000);

const year = date.getFullYear();
const month = date.getMonth() + 1;
const day = date.getDate();
const hours = date.getHours();
const minutes = date.getMinutes();

const formattedDatetime = `${year}-${month}-${day} ${hours}:${minutes}`;
console.log(formattedDatetime);
// 输出结果为:2021-1-1 0:0

我们可以发现,由于月和日的数值是单个数字,会导致输出结果不符合我们的预期,因此我们需要在处理月和日时,判断是否为一位数,如果是则需要在数字前添加一个 "0"。

示例二

以下是一个将时间转换为 UTC 时间,再将其格式化的示例:

const timestamp = Date.parse("2022-01-01T00:00:00Z");
const date = new Date(timestamp);

const year = date.getUTCFullYear();
const month = (date.getUTCMonth() + 1).toString().padStart(2, "0");
const day = date.getUTCDate().toString().padStart(2, "0");
const hours = date.getUTCHours().toString().padStart(2, "0");
const minutes = date.getUTCMinutes().toString().padStart(2, "0");

const formattedDatetime = `${year}-${month}-${day} ${hours}:${minutes}`;
console.log(formattedDatetime);
// 输出结果为:2022-01-01 00:00

由于时间是 UTC 时间,因此我们需要使用 getUTCFullYear()getUTCMonth()getUTCDate() 方法来获取时间的年、月、日部分。同时,我们使用 padStart() 方法来检查月、日、小时和分钟是否是一位数,并在前面加上 "0",以满足输出格式的要求。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js实现把时间戳转换为yyyy-MM-dd hh:mm 格式(es6语法) - Python技术站

(0)
上一篇 2023年5月27日
下一篇 2023年5月27日

相关文章

  • window.setInterval()方法的定义和用法及offsetLeft与style.left的区别

    一、window.setInterval()方法的定义和用法 window.setInterval()方法是JavaScript中的一个计时器函数,用于周期性地重复执行指定代码,间隔时间由用户自定义。它的语法如下: window.setInterval(func, delay, arg1, arg2, …) 参数说明: func:周期性执行的代码块,可以…

    JavaScript 2023年6月11日
    00
  • 详解jQuery的Cookie插件

    详解jQuery的Cookie插件攻略 1. 介绍 jQuery的Cookie插件是一个实用的、轻量的JavaScript工具,用于操作浏览器中的cookie(饼干)。该插件可用于读取、设置、删除和检查cookie,它为cookie操作提供了简洁的API接口,使得开发者能够轻松地处理cookie数据。 2. 安装 你可以从GitHub上下载该插件的最新版本,…

    JavaScript 2023年6月11日
    00
  • JavaScript字符串对象toLowerCase方法入门实例(用于把字母转换为小写)

    JavaScript字符串对象 toLowerCase() 方法入门实例 toLowerCase() 方法简介 JavaScript 中的字符串对象有一个 toLowerCase() 方法,用于把字符串中的字母都转换成小写字母。该方法是字符串类型的实例方法,意味着只能通过字符串对象调用该方法。 toLowerCase() 方法语法 string.toLowe…

    JavaScript 2023年5月28日
    00
  • js判断传入时间和当前时间大小实例(超简单)

    下面是详细的讲解。 题目分析 题目要求我们编写一个 JavaScript 函数,能够判断传入的时间与当前时间的大小关系,即以当前时间为基准,判断传入时间是前面还是后面。 实现思路 我们可以使用 Date 对象获取当前时间和传入时间的时间戳,再进行比较即可。 时间戳是一个数字,表示某个时间点与 Unix 纪元时间点(1970 年 1 月 1 日 00:00:0…

    JavaScript 2023年5月27日
    00
  • 微信小程序 页面跳转和数据传递实例详解

    微信小程序 页面跳转和数据传递实例详解 一、页面跳转 在微信小程序中,页面跳转有两种方式,分别是: wx.navigateTo:保留当前页面,跳转到应用内的某个页面。可通过wx.navigateBack方法返回到原页面。 wx.redirectTo:关闭当前页面,跳转到应用内的某个页面。不可通过wx.navigateBack方法返回到原页面。 1. wx.n…

    JavaScript 2023年6月11日
    00
  • java实现猜数字游戏

    接下来我将为您详细讲解“Java实现猜数字游戏”的完整攻略。 步骤一:创建项目并编写代码 首先,我们要创建一个Java项目,并在其中创建一个名为GuessNumber的类。代码如下所示: import java.util.Random; import java.util.Scanner; public class GuessNumber { public s…

    JavaScript 2023年6月11日
    00
  • JavaScript 面向对象与原型

    JavaScript 面向对象与原型 什么是面向对象? 面向对象编程(Object-oriented programming, OOP)是一种编程模式,它以“对象”作为程序的基本单元,通过对象之间的交互实现程序功能。面向对象编程思想中,将程序拆分成若干个模块,每个模块相当于一个对象,包含自身属性和方法。 JavaScript作为一门面向对象的语言,与其他语言…

    JavaScript 2023年5月27日
    00
  • Javascript Array prototype 属性

    以下是关于JavaScript Array prototype属性的完整攻略。 JavaScript Array prototype属性 JavaScript Array prototype属性是所有数组对象的原型对象。该属性包含了所有数组对象可以访问的方法和属性。我们可以通过修改Array.prototype来扩展数组对象的功能。 下面是一个使用Array…

    JavaScript 2023年5月11日
    00
合作推广
合作推广
分享本页
返回顶部