有個情況,我在顯示時間的時候是需要顯示為 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,一個顯示我需要給用戶看到的時間,一個用於隱藏給我自己需要比較用
這樣當用戶點擊的時候,我的隱藏域也一樣可以跟着變化,而且是我能正常使用的系統時間
下面是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

