📌  相关文章
📜  在节点 js 中将 hh:mm:ss AM 转换为 24 小时时间 - Javascript (1)

📅  最后修改于: 2023-12-03 15:08:06.013000             🧑  作者: Mango

在节点 js 中将 hh:mm:ss AM 转换为 24 小时时间 - Javascript

在使用 Javascript 进行开发时,有时需要将一个字符串表示的时间从 12 小时制转换为 24 小时制。本文将介绍如何在 Node.js 环境中将 hh:mm:ss AM 格式的时间转换为 24 小时制时间。

实现步骤
  1. 首先需要通过 moment.js 库将字符串时间转换为日期对象,moment.js 是一个用于处理日期时间的 JavaScript 库,可以轻松地解析、验证、操作和格式化日期时间。
const moment = require('moment');
const timeStr = '08:30:45 PM';

const dateObj = moment(timeStr, 'hh:mm:ss A').toDate();
  1. 将日期对象转换为 24 小时制时间,可以使用 getHours()getMinutes()getSeconds() 方法分别获取小时、分钟和秒数,然后拼接成 24 小时制时间字符串。
const hour = dateObj.getHours();
const minute = dateObj.getMinutes();
const second = dateObj.getSeconds();

const time24 = `${hour}:${minute}:${second}`;
  1. 如果需要在时、分、秒的数字前补零,可以使用 padStart() 方法,将时、分、秒的数字转换成两位数。
const hour = String(dateObj.getHours()).padStart(2, '0');
const minute = String(dateObj.getMinutes()).padStart(2, '0');
const second = String(dateObj.getSeconds()).padStart(2, '0');

const time24 = `${hour}:${minute}:${second}`;
完整代码

下面是完整的将 hh:mm:ss AM 转换为 24 小时制时间的代码:

const moment = require('moment');
const timeStr = '08:30:45 PM';

const dateObj = moment(timeStr, 'hh:mm:ss A').toDate();

const hour = String(dateObj.getHours()).padStart(2, '0');
const minute = String(dateObj.getMinutes()).padStart(2, '0');
const second = String(dateObj.getSeconds()).padStart(2, '0');

const time24 = `${hour}:${minute}:${second}`;

console.log(time24);

输出:20:30:45

结语

本文介绍了如何在 Node.js 环境中将 hh:mm:ss AM 格式的时间转换为 24 小时制时间。使用 moment.js 库可以方便地处理日期时间,使用 padStart() 方法可以在数字前补零。