如何用jquery判断两个日期之间的时间差小于一年,日期格式为20121212?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用jquery判断两个日期之间的时间差小于一年,日期格式为20121212?相关的知识,希望对你有一定的参考价值。

jQuery好像没有此类基础设施功能,可以把日期文本直接转换成date类型,然后得出相减的毫秒数和一年的毫秒数做个对比就Ok了。追问

能贴你写的代码不?我也是照这个思路写的但是不对

追答

出日期的语句:
var begin2year=new Date(beginYear+2,beginMonth,beginDate);
这个构造函数应该是有多种形式的。

减毫秒的语句:
var gap=now.getTime()-begin5year.getTime();

一年的毫秒数:
var mils=(1000*60*60*24*365)

参考技术A 时间格式为"2012-01-06"为
var time1="2012-12-12";
var time2="2012-12-13";
var arr1 = time1.split("-");
var arr2 = time2.split("-");
var date1=new Date(parseInt(arr1[0]),parseInt(arr1[1])-1,parseInt(arr1[2]),0,0,0);
var date2=new Date(parseInt(arr2[0]),parseInt(arr2[1])-1,parseInt(arr2[2]),0,0,0);
alert(Number(date2)-Number(date1));
相差的毫秒数

时间格式数为“20120806” 你用字符串截取 替换下 就行了 替代数组追问

alert(Number(date2)-Number(date1));打印出来是个负值怎么回事?是不是转换有问题啊?

追答

2012-12-12 我用的是这种格式的 你那种 截取应该无问题 如果是负值 看看是不是 时间前后写错了

var arr1="20121212";
var arr2="20121213";
var date1=new Date(parseInt(arr1.substr(0,4)),parseInt(arr1.substr(4,2))-1,parseInt(arr1.substr(6,2)),0,0,0);
var date2=new Date(parseInt(arr2.substr(0,4)),parseInt(arr2.substr(4,2))-1,parseInt(arr2.substr(6,2)),0,0,0);
alert(Number(date2)-Number(date1));
这样得出结果 也是一天的毫秒数没错的 你检查下

本回答被提问者采纳

如果我有重复的日期,如何用 pandas 中两个日期之间计算的值填充一列?

【中文标题】如果我有重复的日期,如何用 pandas 中两个日期之间计算的值填充一列?【英文标题】:How can I fill a column with values that are computed between two dates in pandas, if I have repeating dates? 【发布时间】:2021-12-26 23:23:36 【问题描述】:

这个问题是this one 的变体,唯一的区别是日期可以在 DataFrame 的行中重复。因此,示例将是:

Date Position TrainerID Win%
2017-09-03 4 1788 0 (0 wins, 1 race)
2017-09-16 5 1788 0 (0 wins, 2 races)
2017-10-14 1 1788 33 (1 win, 3 races)
2017-10-14 3 1788 25 (1 win, 4 races)

是否可以在这些条件下计算过去 1000 天的 Win%?如果有,怎么做?

【问题讨论】:

【参考方案1】:

其他方案中的逻辑还是正确的;问题是groupby + rolling 破坏了索引,因此将结果与原始数据帧对齐变得有问题。

在这种情况下,您可以.reset_index 并使用max(假设是 RangeIndex)来带来原始索引。这允许您聚合,然后将结果对齐。

我在最后添加了一行,向您展示它如何强制执行 1000 天窗口。

# If your DataFrame doesn't have a RangeIndex this is required for the logic
#df = df.reset_index(drop=True)

df['win'] = df['Position'].eq(1) 

s = (df.reset_index().groupby('TrainerID')
       .rolling('1000D', on='Date')
       .agg('win': 'mean', 'index': 'max')
       .reset_index(drop=True)
       .set_index('index')
       .mul(100))  
#              win
#index            
#0.0      0.000000
#1.0      0.000000
#2.0     33.333333
#3.0     25.000000
#4.0    100.000000

df['Win %'] = s

print(df)
        Date  Position  TrainerID    win       Win %
0 2017-09-03         4       1788  False    0.000000
1 2017-09-16         5       1788  False    0.000000
2 2017-10-14         1       1788   True   33.333333
3 2017-10-14         3       1788  False   25.000000
4 2027-10-14         1       1788   True  100.000000

【讨论】:

如果我想计算过去 1000 天的数据? @BogdanDoicin 知道了,现在应该修复了。 正是我想要的。谢谢!

以上是关于如何用jquery判断两个日期之间的时间差小于一年,日期格式为20121212?的主要内容,如果未能解决你的问题,请参考以下文章

如何用EXCEL计算两个日期之间相差的年数和月数?

C语言,使用结构体读入两个在同一年的日期,判断日期是否合法,并计算两个日期之间相差的天数。结构体定义如下:

如果我有重复的日期,如何用 pandas 中两个日期之间计算的值填充一列?

如何用c语言来计算日期间隔天数?

如何用EXCEL计算两个日期之间相差的年数和月数?

js或者jQuery怎么写判断时间是多久之前,