iT邦幫忙

0

time.getTime()不是一個function

function startPlayback(resultListchanne) {
					var DateTime = $('#calendar_input').val();
					var time = DateTime.split("-");
					var year = time[0];
					console.log("year",year);
					var month = time[1]-1;
					console.log("month",month);
					var day = time[2];
					console.log("day",day);
					var hour = $("#hour").val();
					var minute = $("#minute").val();
					if (resultListchanne == '') return;
					
					var time = new Date().toTimeString();
					if (year != '' && month != '' && day != '' && hour != '' && minute != '') {
						time = new Date(year, month, day, hour, minute);
					}
					var loc = window.location; //ip
					var time = time.getTime()/1000; //time
                    var wsurl = "ws://"+hostname+":1654/playback/"+resultListchanne+"/1"+"?time="+time;
					viewStream(1, wsurl);
				}

我有這樣一個程式,當我用startPlayback(resultListchanne);的方式將另一個function的資料傳到startPlayback裡的時候網頁會告訴我time.getTime()不是一個function,這是甚麼意思??

2 個回答

1
海綿寶寶
iT邦超人 1 級 ‧ 2019-03-29 15:04:47
最佳解答
var time = DateTime.split("-");   //Array
var time = new Date().toTimeString();   //String
time = new Date(year, month, day, hour, minute);   //Date
var time = time.getTime()/1000; //數字

建議你還是
換個變數名稱比較不會混淆

針對問題回答:
getTime() 只有在物件是 Date 型態時才是一個 function
也就是說
只有 Date.getTime()
沒有 String.getTime()

好的我知道了,謝謝

0
浩瀚星空
iT邦大師 1 級 ‧ 2019-03-29 15:08:42

問題是出在你這一段

var time = new Date().toTimeString();

它會變成是一個字串而不是一個date元件。
getTime()則是date元件用的一個函數。

所以你將其變成了一個字串,也就是已經不是date元件了。
當然就不會有getTime()

這樣是否有了解。

選「海綿寶寶」為正解吧。

我要發表回答

立即登入回答