- PR -

サーバ側時間表示について

1
投稿者投稿内容
ぷーにゃん
会議室デビュー日: 2005/11/11
投稿数: 2
投稿日時: 2005-11-11 14:53
いつも、ここを利用させてもらっています。
以前、じょいじぇいという名前で書き込みさせてもらっていたのですが、
メールアドレスを忘れてしまったので別メンバーで書き込みさせていただきます。

C#でシステム時間を取得してその時間を基準時間としてjavascriptで
1秒ずつ足していくプログラムを作っているのですが、

string strServerTime; // システム時間
string strScript;   // スクリプト文

// システム時間取得
strServerTime = DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss");

strScript += "<script language='JavaScript'>";
strScript += "var startTime;";
strScript += "var realClock;";
strScript += "function startClock()";
strScript += "{";
strScript += " startTime = '" + strServerTime + "';";
strScript += " realClock = new Date(startTime);";
strScript += " showClock();";
strScript += "}";
strScript += "function showClock()";
strScript += "{";
strScript += " document.all('txtServerTime').value = realClock;";
strScript += " realClock += 1;";
strScript += " timerID = setTimeout('showClock()',1000);";
strScript += " timerRunning = true;";
strScript += "}";
strScript +="</script>";

動きとして、1秒ごとにshowClock()が実行はされています。
サーバ時間を基準時間にして、それに1秒を足していくという動きを
作成しようとしているのがまずいのでしょうか?

javascriptのnew Date()を使用して現在時刻との差分を
求めてリアルタイムに日付時間を表示するようにすると
クライアント側のマシン日付を変えてしまうと正常な日付時間が
取得できなくなってしまいます・・・。

非常に分かりづらい文面ではありますが
宜しくお願い致します。

でっち6号
大ベテラン
会議室デビュー日: 2005/01/31
投稿数: 176
お住まい・勤務地: Kawasaki
投稿日時: 2005-11-11 16:35
こんにちは、でっちです。

まず前スレ貼っておきますね。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=25931&forum=7&2

あんまり教育的な流れは得意ではないので、答えを書きます。
realClock += 1;

realClock.setSeconds(realClock.getSeconds() + 1);
に変えればOKなはずです。

[追記]
#表示値が変わってないってことはないと思いますよ。
#きっとテキストボックスの幅が小さくて見落とされていたのだと思います。
#ひょっとすると、17分後くらいに変わるようになってたのかもしれませんが。
[/追記]

日時操作に関するテクニックが詰まってるので、Jittaさんの書かれたリンクの先の画面で「ソースの表示」を行ってみることをオススメします。
ぷーにゃん
会議室デビュー日: 2005/11/11
投稿数: 2
投稿日時: 2005-11-11 18:33
でっちさん、Jittaさん、どうもありがとうございます。
おかげさまで上手く期待した動きになりました。

それに参考ページまで教えて下さいましてありがとうございます。
勉強不足ですいませんでした。
1

スキルアップ/キャリアアップ(JOB@IT)