GVKun编程网logo

如何使用moment.js从日期列表中获取最小或最大日期?(moment获取前一天的日期)

14

在这篇文章中,我们将带领您了解如何使用moment.js从日期列表中获取最小或最大日期?的全貌,包括moment获取前一天的日期的相关情况。同时,我们还将为您介绍有关asp.net–在日历上设置最小和

在这篇文章中,我们将带领您了解如何使用moment.js从日期列表中获取最小或最大日期?的全貌,包括moment获取前一天的日期的相关情况。同时,我们还将为您介绍有关asp.net – 在日历上设置最小和最大日期?、asp.net – 如何从日历控件中获取所选日期?、Oracle根据连续性日期的重复数据取最大或最小值日期、PL / SQL如何从日期中获取X天前的日期?的知识,以帮助您更好地理解这个主题。

本文目录一览:

如何使用moment.js从日期列表中获取最小或最大日期?(moment获取前一天的日期)

如何使用moment.js从日期列表中获取最小或最大日期?(moment获取前一天的日期)

我想从 handleClick 函数中给定的日期列表中获得最大日期。如何使用 moment.js 从日期列表中找到最大日期?

我有以下代码:

import React, {Component} from ''react'';import moment from ''moment'';class Getdate extends Component{  constructor() {    super();    this.state = {       dates = []    }    this.handleClick = this.handleClick.bind(this);  }  handleClick() {     this.state.dates = [''2017-11-12'', ''2017-10-22'', ''2015-01-10'', ''2018-01-01'', ''2014-10-10''];     console.log(this.state.dates);  }  render{    return (     <button onClick={this.handleClick}>Get Max Date</button>    )  }}export default Getdate

答案1

小编典典

您可以使用moment.max函数:

let moments = this.state.dates.map(d => moment(d)),    maxDate = moment.max(moments)

asp.net – 在日历上设置最小和最大日期?

asp.net – 在日历上设置最小和最大日期?

我再次浏览一下,无法找到如何设置允许在ASP.net中使用VB在日历上选择的最小和最大日期. @H_301_2@我正在使用Visual Studio 2010,它现在只是一个常规的日历控件……

@H_301_2@目前我见过的事情如下:

Calendar1.DateMin = DateTime.Now
@H_301_2@但Visual Basic似乎并不喜欢(也许它是C#的东西?)……无论如何,如果有办法做到这一点,那将是一个很大的帮助!

解决方法

您需要处理Calendar的 DayRender事件:
Private MinDate As Date = Date.MinValue
Private MaxDate As Date = Date.MaxValue

Protected Sub Calendar1_DayRender(sender As Object,e As DayRenderEventArgs)Handles Calendar1.DayRender
    If e.Day.Date < MinDate OrElse e.Day.Date > MaxDate Then
        e.Day.IsSelectable = False
    End If
End Sub
@H_301_2@然后你可以在Page_Load中设置它:

MinDate = Date.Today
MaxDate = MinDate.AddDays(7)

asp.net – 如何从日历控件中获取所选日期?

asp.net – 如何从日历控件中获取所选日期?

海,

我正在创建一个DatetimePicker用户控件.我只想知道如何使用jQuery获取日历(asp.net控件)控件的选定日期.我用过这段代码,但这是错的.

$(document).ready(function()  {
     $(".UserCalender").click(function () { 

     var a = $('.CalenderDiv:selected').text(); 
     alert(a);        
     });
 });

这有什么问题?

解决方法

你将无法做到这一点.没有:选择锚标记的选择器.它仅适用于< option>元素.你可以做的是将事件hanlder附加到每个锚点ag并使用text()方法.就像是
$("#Calendar1 a").click(function(){
   alert ( $(this).text() );
   return false;
});

但是你为什么要这样做呢.通过这样做,您将只获得锚标记内的文本,而不是整个日期.要获得整个日期,您将不得不执行其他工作.

如果你想操纵所选的文本,那么你可以使用jQuery中的任何datepicker插件.

见jQuery UI Datepicker

Oracle根据连续性日期的重复数据取最大或最小值日期

Oracle根据连续性日期的重复数据取最大或最小值日期

原始数据:

 

 

 结果数据:

 

 

 对比两个图,要是不处理连续性中的重复值,我们直接可以用LEAD函数了事,但处理出来的结果貌似多余。

我的思路是先将原始数据中连续性日期有重复值的处理好,即选择最小的一个,比如2011/01/01和2012/01/01的值是一样,日期又是连续的,所以要去除2012/01/01,保留2011/01/01,让处理出来的截止日期为第4行的日期-1即2012/12/30.

以下是实现代码,有更好更方便的欢迎提出来,共同学习。

/*CREATE TABLE TB(PB_DATE DATE,SAVE_RATE VARCHAR2(10),LEN_RATE VARCHAR2(10));
INSERT INTO TB SELECT DATE''2010-01-01'',''8%'',''10%'' FROM DUAL;
INSERT INTO TB SELECT DATE''2011-01-01'',''5%'',''7%'' FROM DUAL;
INSERT INTO TB SELECT DATE''2012-01-01'',''5%'',''7%'' FROM DUAL;
INSERT INTO TB SELECT DATE''2012-10-31'',''5%'',''6%'' FROM DUAL;
INSERT INTO TB SELECT DATE''2013-01-01'',''5%'',''6%'' FROM DUAL;
INSERT INTO TB SELECT DATE''2013-03-31'',''8%'',''9%'' FROM DUAL;
INSERT INTO TB SELECT DATE''2013-09-01'',''8%'',''10%'' FROM DUAL;
INSERT INTO TB SELECT DATE''2014-01-01'',''8%'',''9%'' FROM DUAL;
INSERT INTO TB SELECT DATE''2015-01-01'',''6%'',''9%'' FROM DUAL;
SELECT MIN(PB_DATE)START_DATE,MAX(END_DATE)END_DATE,SAVE_RATE,LEN_RATE FROM(
SELECT PB_DATE,LEAD(PB_DATE,1,DATE''9999-12-31'')OVER(ORDER BY PB_DATE)-1 AS END_DATE,SAVE_RATE,LEN_RATE FROM TB)
GROUP BY SAVE_RATE,LEN_RATE;
SELECT T.*,MAX(PB_DATE)KEEP(DENSE_RANK LAST ORDER BY SAVE_RATE,LEN_RATE)OVER(PARTITION BY SAVE_RATE,LEN_RATE)AS RN FROM TB T ORDER BY 1 ;
SELECT * FROM TB;*/
/* Formatted on 2019/9/24 12:29:14 (QP5 v5.227.12220.39754) */
/* Formatted on 2019/9/24 12:41:16 (QP5 v5.227.12220.39754) */

实现代码,以上代码是造数脚本:
WITH TMP
AS ( SELECT PB_DATE,
SAVE_RATE,
LEN_RATE,
LEAD (PB_DATE, 1, DATE ''9999-12-31'') OVER (ORDER BY PB_DATE)
NEXT_DATE,
LAG (PB_DATE, 1, PB_DATE) OVER (ORDER BY PB_DATE) PRE_DATE,
LEAD (SAVE_RATE) OVER (ORDER BY PB_DATE) NEXT_SAVE,
LAG (SAVE_RATE) OVER (ORDER BY PB_DATE) PRE_SAVE,
LEAD (LEN_RATE) OVER (ORDER BY PB_DATE) NEXT_LEN,
LAG (LEN_RATE) OVER (ORDER BY PB_DATE) PRE_LEN
FROM TB
ORDER BY PB_DATE, SAVE_RATE, LEN_RATE),
TMP2
AS ( SELECT MAX (T.PB_DATE) AS PB_DATE, T.SAVE_RATE, T.LEN_RATE
FROM TMP T
WHERE (CASE
WHEN (SAVE_RATE = NEXT_SAVE AND LEN_RATE = NEXT_LEN)
OR (SAVE_RATE = PRE_SAVE AND LEN_RATE = PRE_LEN)
THEN
1
ELSE
0
END) = 1
GROUP BY T.SAVE_RATE, T.LEN_RATE
ORDER BY 1),
TMP3
AS (SELECT PB_DATE,SAVE_RATE,LEN_RATE
FROM TB T
WHERE NOT EXISTS
(SELECT NULL
FROM TMP2 R
WHERE R.SAVE_RATE = T.SAVE_RATE
AND R.LEN_RATE = T.LEN_RATE
AND R.PB_DATE = T.PB_DATE))
SELECT PB_DATE AS START_DATE,
LEAD (PB_DATE, 1, DATE ''9999-12-31'') OVER (ORDER BY PB_DATE) - 1
AS END_DATE,
SAVE_RATE,
LEN_RATE
FROM TMP3;

PL / SQL如何从日期中获取X天前的日期?

PL / SQL如何从日期中获取X天前的日期?

我想100天前从13年4月8日开始作为日期。

如何使用pl / sql执行此操作?

答案1

小编典典

假设情况是08-APR-13您所处的字符串。因此,您需要将其转换为dateusingto_date函数,然后简单地减去100个文字。

  • SQL

    SQL> select (to_date(''08-APR-13'', ''DD-MON-RR'') - 100) res

    2 from dual
    3 /

    RES

    29-12-2012

  • PL / SQL

    SQL> declare

    2 l_res_date date;
    3 l_in_date varchar2(11) := ‘08-APR-13’;
    4 begin
    5 select (to_date(l_in_date, ‘DD-MON-RR’) - 100)
    6 into l_res_date
    7 from dual;
    8
    9 dbms_output.put_line(to_char(l_res_date, ‘dd-mon-yy’));
    10 end;
    11 /

    29-dec-12

    PL/SQL procedure successfully completed

或者

     SQL> declare       2    l_res_date date;       3    l_in_date  varchar2(11) := ''08-APR-13'';       4  begin       5         6    l_res_date := to_date(l_in_date, ''DD-MON-RR'') - 100;       7         8    dbms_output.put_line(to_char(l_res_date, ''dd-mon-yy''));       9  end;       10  /       29-dec-12       PL/SQL procedure successfully completed

今天的关于如何使用moment.js从日期列表中获取最小或最大日期?moment获取前一天的日期的分享已经结束,谢谢您的关注,如果想了解更多关于asp.net – 在日历上设置最小和最大日期?、asp.net – 如何从日历控件中获取所选日期?、Oracle根据连续性日期的重复数据取最大或最小值日期、PL / SQL如何从日期中获取X天前的日期?的相关知识,请在本站进行查询。

本文标签: