一、js對日期的操作:謹記:所有的日期文字的分隔字元都用'/',當然,一般用‘-’也可以,但統一用‘/’可以避免一些意想不到的錯誤
1、擷取時間的方法(即構造方法):
①:var myDate = new Date( )②:var myDate = new Date(milliseconds)//milliseconds是距1970年1月1日午夜(UTC)的毫秒數③:var myDate = new Date(datestring)//注意參數必須是用斜杠 / 作為分隔字元,否則會出錯④:var myDate = new Date(year, month, date[, hours, minutes, seconds, ms])//中括弧的內容可要可不要⑤:var myDate = new Date.parse()//中括弧的內容可要可不要
最簡單的方法①:就是獲得當前的本地時間;
方法②:就是根據輸入的毫秒數產生時間,該時間是距1970年1月1日午夜(UTC)的毫秒數,實際列印輸出的時候應該會把它轉換成本地時間,所以會多了8個小時,因為中國的時區為東八區,會比(UTC)時間多8個小時
方法③:根據輸入的日期類型的字串產生時間;使用該方法要注意的是輸入的字串類型必須是以字元 ’/‘ 分割的,嘗試過用 '-' 分割的時候,產生的時間是UTC時間;所以一般的使用方法會把字元 ’-‘ 替換成 ’/‘ :如下:
var myDate = new Date("2012/3/16 00:00:01"); //可以把時分秒去掉
var myDate = new Date('2012-3-16 00:00:01'.replace("-","/");//可以把時分秒去掉
方法④也很簡單;返回的是其實是一個整型,是距1970年1月1日午夜(UTC)的毫秒數;參數可以是字串格式的數字,也可以直接輸入數字:當然,也可以數字和字串混合,但不提倡;
var myDate = new Date(2012, 1, 20);
var myDate = new Date("2012", "10", "21","23","59","59");
然後就可以對日期操作了,如下,對日期加上1天:
var theDate = new Date(myDate);
myDate.setDate(myDate.getDate() + 1);
var sql1 += " and Addtime <='" + myDate.getFullYear() + "/" + (myDate.getMonth() + 1) + "/"+ myDate.getDate();
方法⑤的用處比較大,一般用來比較兩個日期的大小,接受的參數可以是日期類型的,也可以是能被轉換成日期類型的字串;如下面的都可以:
var myDate1 = new Date("2012", "10", "21","23","59","59");
var myDate2 = Date.parse("2012-10-20 00:00:01".replace("-","/"));
var myDate3 = Date.parse("2012/10/20 00:00:01");
var myDate4 = Date.parse(myDate1 );
asp方法:cdate
if cdate(tjform.jzrq.value)<cdate(tjform.qsrq.value) then
msgbox("到期日不能小於起始日期")
tjform.jzrq.focus
exit function
end if