javascript - 如何根据 Javascript 中的 unix 时间戳以编程方式确定先前的时间段?

标签 javascript date unix

本质上我有两个unix时间戳,代表给定月份的第一天和最后一天。是否可以以编程方式确定上个月第一个月和最后一个月的时间戳?

例如,我有以下两个时间戳:
1467331201 --> 2016 年 7 月 1 日
1469923201 --> 2016 年 7 月 31 日

本质上,我可以以一致的方式操作这两个数字,以便分别获得 2016 年 6 月 1 日和 2016 年 6 月 30 日的 unix 时间(或 Date 对象)吗?我遇到的问题是,您不能简单地减去给定的金额,因为一个月中的天数是可变的。

最佳答案

您可以使用此功能:

function getPreviousMonthRange(unixTime) {
    var dt = new Date(unixTime * 1000);
    dt.setUTCDate(0); // flips to the last day of previous month
    var unixLast = dt.getTime();
    dt.setUTCDate(1); // back to the first day of that same month
    var unixFirst = dt.getTime();
    return [unixFirst / 1000, unixLast / 1000];
}

// given first and last date (only one is really needed)
var unixTimeFirst = 1467331201;
var unixTimeLast = 1469923201;

// get previous month's first & last date
var [first, last] = getPreviousMonthRange(unixTimeFirst);

// output
console.log('previous month first day: ', first, new Date(first*1000));
console.log('previous month last day: ', last, new Date(last*1000));

关于javascript - 如何根据 Javascript 中的 unix 时间戳以编程方式确定先前的时间段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38963826/

相关文章:

javascript - Knockout JS - 如果绑定(bind)在 foreach 内

python - 检查文本文件中的日期是否过期

javascript - 具有日期和时间对象组合的数组

PHP MYSQL 日期范围错过的天数

linux - openpty() 是做什么的? "the openpty() function finds an available pseudoterminal"是什么意思?

javascript - svg 在两点之间绘制虚线钟形曲线

javascript - JSON/Javascript : return which array object contains a certain property

python - 使用 GNU parallel 并行化 bash for 循环

javascript 'this' 链接代码

c - Unix 套接字 : AF_LOCAL vs AF_INET