js 時間轉成時間戳對比;My97DatePicker日歷控件時間格式;Date.parse Firefox火狐瀏覽器返回Nan的解決辦法


有個情況,我在顯示時間的時候是需要顯示為  2013年8月15日 14時28分15秒

但是假如我用js去獲取到這個時間,並且想進行時間對比的時候,這個時間2013年8月15日 14時28分15秒根本就不能比較,那么我怎么能轉換成2013-8-15 14:28:15這樣的標准時間呢?

my97給我們提供了一個這樣的功能,vel 能幫你在另外一個input上顯示 系統可識別的日期格式

<input value="<%=DateTime.Now.AddHours(1).ToString("yyyy年MM月dd日 HH時mm分ss秒") %>" id="TestDate" name="TestDate" type="text" readonly="readonly" class="Wdate" onfocus="WdatePicker({dateFmt:'yyyy年MM月dd日 HH時mm分ss秒',vel:'fixedtime'})" style=" width:250px;" />

            <input id="fixedtime" type="text" value="<%=DateTime.Now.AddHours(1).ToString("yyyy-MM-dd HH:mm:ss") %>" style="display: none"/>

於是我就弄2個input,一個顯示我需要給用戶看到的時間,一個用於隱藏給我自己需要比較用

image

這樣當用戶點擊的時候,我的隱藏域也一樣可以跟着變化,而且是我能正常使用的系統時間

下面是js的時間對比 用到 Date.parse 來比較

 //判斷時間是否小於當前時間
                var fixedtime = $("#fixedtime").val();
                if (Date.parse(new Date()) > Date.parse(fixedtime)) {
                    alert("定時發送設定時間已過期,請重新選擇");
                    return false;
                }

這上面的代碼 在IE 在 chrome都能用的很好,但是在火狐瀏覽器里面Date.parse("2013-06-20 16:30:55") 會返回Nan而不是時間戳,解決方法

var fixedtime = $("#fixedtime").val();
                var tempFoxTime = fixedtime.replace("-", "/").replace("-", "/");  //火狐瀏覽器對2013-04-05 16:20:30 這樣的格式要把-替換成/
                if (Date.parse(new Date()) > Date.parse(tempFoxTime)) {
                    CxcDialog('提示框', '定時發送設定時間已過期,請重新選擇', 'Warning', '');
                    return false;
                }

為什么會有2個replace呢?因為js每次replace只能替換掉一個···而我們的時間里面有2個- 符號  所以要替換2次

 

其他更詳細的配置可以查看 http://www.toone.com.cn:8101/wooui/newDemo/WEB-INF/pages/single/datepicker.htm


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM