LENDIEN聯電 冷暖 清淨 除溼 移動式空調 9000BTU任天堂-Switch-NS-公司貨主機-豪華全配組LG樂金 WIFI遠控雙眼小精靈掃地清潔機器人變頻版

2009年5月22日 星期五

javascript日期運算&文字轉數字&數字轉文字

javascript裡,要取得當前時間要用Date()函數,如果要指定特定日期-像是今天的前一天或前N天的話,就要用Date(Y,m,d,H,i,s)的方式取得,像這樣:

var now=new Date();   //先取得今天的日期
var day1=new Date(now.getFullYear(),now.getMonth(),now.getDate()-1,0,0,0); //再用今天的日期(now)為基準,取得昨天的日期

這個範例裡因為只是要抓昨天的日期,所以getDate是減1,且時、分、秒也以零帶過
要注意的是,如果要取得day1的月份,用getMonth出來後,要再加1,因為getMonth回傳值是0到11,1月是0

如果要把這個day1的年月日組合成20090521這樣的值,就要把年月日取出相加
但是如果直接用day1.getFullYear()+day.getMonth()+1+day.getDate()相加,會得到一個4位數的數字,因為javascript會認為你要算2009+5+21,這時候就要運用到數字轉字串的函數-toString(),像這樣day1.getFullYear().toString(),所以完整的語法應該是:

day1.getFullYear().toString()+(day1.getMonth()<9?"0":"")+(day1.getMonth()+1).toString()+day1.getDate().toString()

其中(day1.getMonth()<9?"0":"")的意思是如果day1.getMonth()的值是0到8,那就加一個0在前面,因為getMonth傳回0到8是指1到9月

好的,那文字轉數字用在哪裡呢?
嗯,這個問題……其實只是順便題一下,要用parseInt(),只是toString是用「數字變數.toString()」,parseInt要用「parseInt(字串變數)」這樣

因為這個其實我不常用也沒特別記,每次要用就要重新孤狗也是很麻煩,一起入庫比較方便囉~

沒有留言:

張貼留言