在这篇文章中,我们将带领您了解如何使用moment.js从日期列表中获取最小或最大日期?的全貌,包括moment获取前一天的日期的相关情况。同时,我们还将为您介绍有关asp.net–在日历上设置最小和
在这篇文章中,我们将带领您了解如何使用moment.js从日期列表中获取最小或最大日期?的全貌,包括moment获取前一天的日期的相关情况。同时,我们还将为您介绍有关asp.net – 在日历上设置最小和最大日期?、asp.net – 如何从日历控件中获取所选日期?、Oracle根据连续性日期的重复数据取最大或最小值日期、PL / SQL如何从日期中获取X天前的日期?的知识,以帮助您更好地理解这个主题。
本文目录一览:- 如何使用moment.js从日期列表中获取最小或最大日期?(moment获取前一天的日期)
- asp.net – 在日历上设置最小和最大日期?
- asp.net – 如何从日历控件中获取所选日期?
- Oracle根据连续性日期的重复数据取最大或最小值日期
- PL / SQL如何从日期中获取X天前的日期?
如何使用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 – 在日历上设置最小和最大日期?
Calendar1.DateMin = DateTime.Now@H_301_2@但Visual Basic似乎并不喜欢(也许它是C#的东西?)……无论如何,如果有办法做到这一点,那将是一个很大的帮助!
解决方法
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 – 如何从日历控件中获取所选日期?
我正在创建一个DatetimePicker用户控件.我只想知道如何使用jQuery获取日历(asp.net控件)控件的选定日期.我用过这段代码,但这是错的.
$(document).ready(function() { $(".UserCalender").click(function () { var a = $('.CalenderDiv:selected').text(); alert(a); }); });
这有什么问题?
解决方法
$("#Calendar1 a").click(function(){ alert ( $(this).text() ); return false; });
但是你为什么要这样做呢.通过这样做,您将只获得锚标记内的文本,而不是整个日期.要获得整个日期,您将不得不执行其他工作.
如果你想操纵所选的文本,那么你可以使用jQuery中的任何datepicker插件.
见jQuery UI Datepicker
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天前的日期?
我想100天前从13年4月8日开始作为日期。
如何使用pl / sql执行此操作?
答案1
小编典典假设情况是08-APR-13
您所处的字符串。因此,您需要将其转换为date
usingto_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天前的日期?的相关知识,请在本站进行查询。
本文标签: