如何将 unix 时间戳和“上午 9:00”组合成新的时间戳

How to combine unix timestamp and "9:00 am" into a new timestamp?

本文关键字:时间戳 组合 上午 unix      更新时间:2023-09-26

我有两件事:对应于特定日期午夜的 unix 时间戳,以及像"9:00 am"这样的字符串。 使用 javascript,我想生成一个新的时间戳,对应于给定日期的上午 9:00。 字符串中可能存在一些差异 - "上午 9:00"、"上午 9 点"、"上午 9 点"等。

应该没什么大不了的,但由于某种原因,我就是想不通。 如果需要,我不反对使用 moment 或类似的包,但"纯"JavaScript 会更受欢迎,如果只是因为我没有在项目的其他任何地方使用 moment(或其他任何东西)。 有什么想法吗? 谢谢!

您可以简单地创建和添加日期对象:

var fullDayDate = new Date(yourUnixTimestampValue);
var timeString = '9:00 AM'; // you time component
var partialDate = new Date('1 January 1970, ' + timeString); // set to specific time on first day of Unix epoch
var finalDate = fullDayDate + partialDate;