私はこの関数を書いて、日付文字列を返します。それは一度実行された後、 "... clientTime()は関数ではありません..."というエラーが表示されます。既に。私は何をすべきか分からない。新しいDate()を使用してこのJavascript関数が1回だけ実行されるのはなぜですか?
申し訳ありませんがここでは示していませんが、変数は外部変数としてグローバル変数として宣言されています。
function clientTime() {
var now = new Date();
dd = now.getDate();
MM = now.getMonth()+1;
if(MM < 10) {
MM = '0'+MM.toString();
}
yyyy = now.getFullYear();
hh = now.getHours();
mm = now.getMinutes();
if(mm < 10) {
mm = '0'+mm.toString();
}
ampm = "";
// determine if it's currently am or pm
if(hh < 12) {
hh = '0'+hh.toString();
ampm = "AM";
}else if(hh > 12) {
ampm = "PM";
}
// modify hours change from 24 to 12 format
switch (hh) {
case (12):
hh = 00;
case (13):
hh = 01;
case (14):
hh = 02;
case (15):
hh = 03;
case (16):
hh = 04;
case (17):
hh = 05;
case (18):
hh = 06;
case (19):
hh = 07;
case (20):
hh = 08;
case (21):
hh = 09;
case (22):
hh = 10;
case (23):
hh = 11;
}
return(MM+'/'+dd+'/'+yyyy+' '+hh+':'+mm+' '+ampm);
}
function alertClientTime() {
alert(clientTime());
}
alertClientTime();
[Works for me](https://jsfiddle.net/zvewca11/)。あなたが表示していないコードのどこかに、 'clientTime = ...'がなければなりません。例えば、関数参照に別のものを上書きしています。 –
@ T.J.Crowderそれはあなたのために複数回働いていますか? – joehungjohn
@ T.J.Crowderは、その関数の戻り値でclientTime = clientTime()としたい場合は無効です。 ? – joehungjohn