Js计算上月与当前时间戳的差值


//获得上月时间
initLastMonthTime:function (){


var now = new Date(); //当前日期
var nowYear = now.getFullYear(); //当前年
var lastMonthDate = new Date(); //上月日期
lastMonthDate.setDate(1);
lastMonthDate.setMonth(lastMonthDate.getMonth()-1);
var lastMonth = lastMonthDate.getMonth();





//获得上月开始时间
var lastMonthStartDate = new Date(nowYear, lastMonth, 1);
var formatMonth=(new Date(lastMonthStartDate).getMonth() + 1)<10? "0"+(new Date(lastMonthStartDate).getMonth() + 1):new Date(lastMonthStartDate).getMonth() + 1;
var formatDate=new Date(lastMonthStartDate).getDate()<10? "0"+new Date(lastMonthStartDate).getDate():new Date(lastMonthStartDate).getDate();

var lastStartTime=new Date(lastMonthStartDate).getFullYear() + '-' + formatMonth + '-' + formatDate ;





//获得上月结束时间
var lastMonthEndDate = new Date(nowYear, lastMonth, dataStatistics.getMonthDays(lastMonth));
var formatEndMonth=(new Date(lastMonthEndDate).getMonth() + 1)<10? "0"+(new Date(lastMonthEndDate).getMonth() + 1):new Date(lastMonthEndDate).getMonth() + 1;
var formatEndDate=new Date(lastMonthEndDate).getDate()<10? "0"+new Date(lastMonthEndDate).getDate():new Date(lastMonthEndDate).getDate();

var lastEndTime=new Date(lastMonthEndDate).getFullYear() + '-' +formatEndMonth + '-' + formatEndDate;


},



//获得某月的天数
getMonthDays:function (lastMonth){

var now = new Date(); //当前日期
var nowYear = now.getYear(); //当前年
var monthStartDate = new Date(nowYear, lastMonth, 1);
var monthEndDate = new Date(nowYear, lastMonth + 1, 1);
var days = (monthEndDate - monthStartDate)/(1000 * 60 * 60 * 24);
return days;
},



//进行时间计算
var nowDate=new Date();
var strDateS = new Date(lastStartTime);
var strDateE = new Date(lastEndTime);
var last_start=(nowDate-strDateS)/(1000*3600*24);
var last_end=(nowDate-strDateE)/(1000*3600*24);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Java中,获取当前时间戳(也称为Unix时间戳或自纪元以来的秒数)和计算两个时间戳之间的差值通常使用`System.currentTimeMillis()`方法。这个方法返回自1970年11日(UTC/GMT的午夜)以来的毫秒数。 如果你想计算两个具体的时间点之间的时间差,可以按照以下步骤操作: 1. 获取第一个时间点的毫秒数: ```java long timestamp1 = System.currentTimeMillis(); ``` 2. 假设你有一个第二个时间点(例如另一个对象的时间戳或用户输入的时间),你需要将其转换为毫秒数。如果它是一个日期对象(如`LocalDateTime`),你可以使用`atInstant().toEpochMilli()`: ```java LocalDateTime dateTime2 = ...; // 假设已经获取到 long timestamp2 = dateTime2.atZone(ZoneId.systemDefault()).toInstant().toEpochMilli(); ``` 3. 计算两个时间戳之间的差值(单位是毫秒): ```java long timeDifferenceInMilliseconds = Math.abs(timestamp2 - timestamp1); ``` `Math.abs()`用于确保结果总是正的,因为时间戳是从第一个时间点开始计数的。 如果你想将这个差值转换为更易读的形式,例如秒、分钟或小时,你可以除以相应的换算因子(1000毫秒/秒, 1000秒/分钟, 60分钟/小时等)。 相关问题: 1. 如何在Java中获取特定时区的当前时间戳? 2. 如果我想计算两个日期对象之间的差异,应该如何操作? 3. Java有没有内置的方法可以直接计算两个日期之间的天数差异?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值