sencha表單裡的日期輸入框獲取日期值進行比較

2021-06-07 06:32:41 字數 931 閱讀 1590

sencha 做有自己的輸入日期輸入框,xtype: 'datepickerfield'。

提交表單後,如果是使用getvalue(),那麼取到的值是乙個日期物件;如果是用getformattedvalue(),取到的值是乙個顯示區域的格式的值,比如設定有:dateformat : 'd/m/y', 那麼取到的值也是d/m/y格式;如果需求要求顯示的日期剛好能進行比較,那就還好;如果不一樣,方法有兩種了:

1、取到格式化的值,然後進行字串切割,做到可以加減比較來算出天數,不過相差月份轉換為天數,也是乙個難題,因為有大小月,閏月的說法,這種做法不合理,效果也差;

2、用getvalue(),取到物件,然後使用js的日期函式,進行計算:

先取得日期輸入框的物件

var date_from = ext.componentquery.query('datepickerfield')[0];//從上往下,第乙個日期輸入框

var date_to = ext.componentquery.query('datepickerfield')[1];//第二個日期輸入框

(1)比較日期的大小:

date.parse(date_to.getvalue())>=date.parse(date_from.getvalue());//實際是時間戳的對比

(2) 計算日期的相差天數:

var datemilli = date.parse(date_to.getvalue())-date.parse(date_from.getvalue());//日期減,得到時間戳

var count_day = math.ceil(datemilli/(24*3600*1000));//時間戳進行除法,轉換為天數,然後向上取整,因為1.7,1.5,1.4天也算是兩天

form表單裡輸入框即時監聽輸入資訊

傳統對於文字框 input 的輸入可通過鍵盤的 onkeydown onkeypress onkeyup 來監測,但在處理較多細節時存在詬病比如 cut 剪下 paste 複製 undo 撤銷 redo 重做 drag drop 拖拽 輸入法等。onchange 必須得滑鼠離開才觸發,類似與onbl...

樣式 輸入框 輸入框和表單設計

輸入框允許使用者在 ui 中輸入文字。它們通常出現在表單和對話方塊中。輸入框元件設計應該為互動提供清晰的啟示,使輸入框在布局中易於發現 高效地填充和可訪問。以下是輸入框的基本元素 容器 可互動輸入區 輸入文字 輸入文字字段 標題 告訴使用者這個輸入框該輸入什麼內容 佔位符文字 為使用者提供輸入文字前...

DateTimeBox 日期時間輸入框

本節課重點了解 easyui 中 datetimebox 日期時間輸入框 元件的使用方法,這個組 件依賴於 datebox 日期輸入框 元件和 timespinner 時間微調 元件。一 載入方式 class 載入方式 js 載入呼叫 box datetimebox 二 屬性列表 屬性設定 box ...