No.1
- 回答日時:
質問2についてVC++では以下の方法があるみたいです。
/* FTIME.C: このプログラムは、_ftime関数を使って、現在の時刻を求め、
* timebuffer に格納します。
*/
#include <stdio.h>
#include <sys\timeb.h>
#include <time.h>
void main( void )
{
struct _timeb timebuffer;
char *timeline;
_ftime( &timebuffer );
timeline = ctime( & ( timebuffer.time ) );
printf( "現在の時刻は %.19s.%hu %s",
timeline, timebuffer.millitm, &timeline[20] );
}
詳しくはヘルプを見てください。
この回答への補足
詳しい解答ありがとうございます。
調べた結果、下記のコーデングでもいいそうです。
#include <time.h>
#include <stdio.h>
void main( void ){
time_t ltime;
time( <ime );
printf( "現在の時刻は %s\n", ctime( <ime ) );
}
できれば次のことがしたい
1.クライアントとサーバの時刻の誤差を調べること
2.言語、方法は問わず(環境はWindousNT4.0のクライアントとサーバ)
3.誤差がある場合、時刻を合わせたい
宜しく、お願いします。
No.2ベストアンサー
- 回答日時:
サーバと時刻の同期を取りたいだけだったら、net コマンドでできますよ。
net time \\サーバ /set /yes
ユーザは「システム時刻の変更」の権限を持っていなくてはいけません。
もし、サーバが NTP のサービスをしているのであれば、NTP クライアントの
ソフトを導入することで可能です。Windows だったら有名所は「桜時計」で
しょうか?
# コーディングの話じゃなくて、申し訳ない
この回答への補足
桜時計があるなんてしりませんでした。あとClockSaver 1.5 日本語版で、NTPクライアントソフトや、GPS衛星の時刻電波などを利用でき時間のほせいができるそうです。すごですね。
丁寧にご解答いただきありがとうございます。
参考までに
> 昨日連絡を頂きまして、WindowsAPIでサーバーの時刻を取得する処理について調査
> しました。
> まず、私がお答えできるのはサーバーが「WindowsNT」の場合に限ることを
> 前提とさせて下さい。
> ======================================================
> ●クライアントOSが WindowsNT または Windows2000の場合
> ======================================================
>
> 下記のプログラムでAPIが使用できます。
> 下記の宣言から呼び出し例までをVBに貼り付ければOKです。
> サンプルプログラムも作成いたしましたのでVB5なら
> そのまま動作します。(実験済みです。)
>
> 【宣言】
> Declare Function NetRemoteTOD Lib "Netapi32.dll" _
> (UncServerName As Any, BufferPtr As Long) As Long
>
> Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" _
> (hpvDest As Any, ByVal hpvSource As Long, ByVal cbCopy As Long)
>
> Type TIME_OF_DAY_INFO
> tod_elapsedt As Long
> tod_msecs As Long
> tod_hours As Long
> tod_mins As Long
> tod_secs As Long
> tod_hunds As Long
> tod_timezone As Long
> tod_tinterval As Long
> tod_day As Long
> tod_month As Long
> tod_year As Long
> tod_weekday As Long
> End Type
>
> 【プロシージャ】
> Public Function GetServerDateTime(argServerName) As Date
> Dim abytServerName() As Byte
> Dim ptrTOD As Long
> Dim stuTOD As TIME_OF_DAY_INFO
> Dim ret As Long
>
> abytServerName = argServerName & vbNullChar
> ret = NetRemoteTOD(abytServerName(0), ptrTOD)
> If ret <> 0 Then
> MsgBox "Server Not Found"
> Exit Function
> End If
>
> CopyMemory stuTOD, ptrTOD, Len(stuTOD)
> GetServerDateTime = DateSerial(stuTOD.tod_year, stuTOD.tod_month,
> stuTOD.tod_day) + _
> TimeSerial(stuTOD.tod_hours, stuTOD.tod_mins - stuTOD.tod_timezone,
> stuTOD.tod_secs)
> End Function
>
> 【呼び出し例】
> Dim dtSvDateTime As Date
> dtSvDateTime = GetServerDateTime("サーバー名")
> msgbox dtSvDateTime
>
> ======================================================
> ●クライアントOSが Windows95 または Windows98の場合
> ======================================================
>
> APIは残念ながらわかりません。が時刻を取得するには下記の方法があります。
>
> 1、MS-DOSコマンドで「NET TIME \\ServerName」と打つ
> 2、「\\ServerNameの現在の時刻は 01/07/18 午前 11:06 です」
> と出力されます。(ServerNameは調べたいサーバー名です)
> 3、出力結果の文字列を編集する
>
>
> 以上です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- ノートパソコン ESETの初期インストールの仕方 1 2022/10/14 08:26
- サーバー FTPサーバについて詳しい方(アクセス権のないディレクトリを非表示にする方法) 4 2022/08/22 22:33
- その他(開発・運用・管理) bashで15分前と現在のエポックタイムの時間を取得したい 2 2023/02/01 19:10
- その他(コンピューター・テクノロジー) 50台の織機から回転数を取得・集計しモニターに表示したい 2 2022/11/05 15:48
- PHP PHP でメールフォームを作成したい 1 2022/05/04 22:28
- その他(お金・保険・資産運用) 事業復活支援金の新型コロナの影響かどうかをどうやって証明すればよいでしょうか? 1 2022/04/13 23:05
- その他(ネットショッピング・通販・ECサイト) 初期不良の対応について 5 2023/07/21 19:46
- ドメイン・サーバー・クラウドサービス さくらレンタルサーバーでホームページをUPしたい・・・・ 1 2023/06/04 11:50
- ドメイン・サーバー・クラウドサービス サクラサーバーでのHPのUPについて 1 2023/06/10 11:21
- HTML・CSS 別サイトのHTML内にある情報を自動取得して、自分のサイトに組込む方法を教えてください。 例えば、Y 1 2023/06/15 08:09
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAでActiveDirectoryのユーザ...
-
Excelで勤怠管理をしたいです。...
-
VB.NETで DataRow()を利用して...
-
imgctl.dllを使って読み込んだ...
-
VBA リストボックス複数選択か...
-
VBA:小数点以下の数字を取得で...
-
自動的に高さ指定していないt...
-
エクセルVBAで複数選択できるよ...
-
DataGridView 複数選択で行番...
-
asp.netでtextboxの値を取得
-
IFRAME内のURLを取得したです。
-
ListView 項目の選択/選択解除...
-
Flexgridで選択行の列の値を取...
-
GetLongPathName関数について
-
整数の桁数が取得できません
-
Google Apps Script で、Web上...
-
利用者側のMACアドレスを取得し...
-
フォルダ一覧取得の設計について
-
リクエストからArrayListのデー...
-
ListViewで複数選択された項目...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAでActiveDirectoryのユーザ...
-
VB.NETで DataRow()を利用して...
-
VBA:小数点以下の数字を取得で...
-
ListView 項目の選択/選択解除...
-
like演算子内に変数って使えな...
-
count(*)で取得した値をJAVAの...
-
利用者側のMACアドレスを取得し...
-
データ数をカウントしたいのですが
-
JavaScriptでWindowsログオンID...
-
ListViewで複数選択された項目...
-
Flexgridで選択行の列の値を取...
-
エクセルVBAで複数選択できるよ...
-
VBA リストボックス複数選択か...
-
getParameter と getAttribut...
-
Excel VBA でログインしてい...
-
VBScriptで数値にコンマを付け...
-
Spreadの選択行の取得について
-
コンボボックスの表示は最大何行?
-
コンボボックス表示文字列を取...
-
VB .netにて現在時刻+1時間後...
おすすめ情報