• 締切済み

c言語で取得されるシステム日付について

AIX上でc言語を使用したプログラムを 作っています。 開発環境が新しいAIXとなりそこでの疎通テストを しています。 テストの都合上、smitにてシステム日付を変更後、 テストを実施したところ動作は問題ないのですが C言語内でログを出す際の時刻が-9時間になっています。 Aix上でdateコマンドをうつと変更した正しい 日付時刻が表示されます。 C言語からだと何故違う日付がでるのでしょうか。 -9時間なのでGmtのことだと思いますがなにを 設定すれば解消さらるのか教えて下さい。 素人ですいません。

みんなの回答

  • wormhole
  • ベストアンサー率28% (1621/5656)
回答No.3

どういうコードを書かれているのかわかりませんが gmtime() localtime() 環境変数TZ この辺について調べてください。 >素人ですいません。 「素人」といえば何でも優しく教えてもらえる免罪符と勘違いしないようにしてください。

回答No.2

time関数を使うと質問者のおっしゃる通りUTC(=GMT)を取得してしまいます。 localtime等でローカルタイムに直すなどしてください。 (システムでタイムゾーンや環境変数が正しく設定されていることが前提)

  • FoolWord
  • ベストアンサー率73% (14/19)
回答No.1

記述コードもなしでは何が悪いかも判らないんじゃないでしょうか?

関連するQ&A

  • C言語 ミリ秒を日付に変換には

    初心者です orz ただいまC言語勉強中です。(仕事で必要になりそう・・・) やりたいことは、タイトルの通り 「C言語 ミリ秒を日付に変換」です。 1298616934703→yyyyMMddhhmmddssSSS ↑こういう感じのことがしたいです! ログにミリ秒で吐き出された時間から日付を求めたいのですが、 やり方が、いまいちわかりません(泣) どなたか参考サイトや変換方法をご教授願えると助かります。

  • WindowsXPの日付と時刻の再インストール

     WindowsXPのコントロールパネルから「日付と時刻」を選択し、タイムゾーンを開くと(GMT+09:00)大阪、札幌、東京の時刻が表示されているのですが、これを変更しようとすると、他の国の時間設定が表示されません。「日付と時刻のプロパティ」設定部分を再インストールすることができるのでしょうか?

  • C# タスクスケジューラ操作について

    お世話になります。 Windows7Pro VisualStudio2005C# で業務アプリケーションを開発しております。 C#のコードでタスクスケジューラの操作を考えております。 現状コマンドプロンプトを起動し、命令文を実行する方法で考えております。 目的としましては、既に作成してあるタスクに対して、 C#のコードから実施時刻、使用有無、実行間隔を変更したいと考えております。 しかしながら、以下の命令文で実施時刻、使用有無は変更できますが、実行間隔が操作できません。 SCHTASKS /CHANGE /RU ********* /RP ***** /TN TEST /ST 17:30 /ENABLE 変更のコマンドがご存知の方がございましたら、ご教示いただければ幸いに存じます。 また、本稿C#のカテゴリに投稿した理由としまして、 C#2005で本処理を含むタスクスケジューラを操作するコードがございましたら、 ご教示いただければと思いまして記述を致しました。 合わせてご教示いただければ幸いに存じます。 以上宜しくお願い申し上げます。

  • c言語でntpdateコマンドにあたる関数

    Linuxにおいてc言語でntpdateコマンドの機能にあたる関数を探しています。 stepモードで指定したIPアドレスのNTPサーバーから時刻を取得をし、パソコンの時刻を書き換える機能を求めています。 本来自分で調べるべきなのですが生憎調べる時間がないためこちらで質問させていただきました。 よろしくお願いします。

  • C言語の勉強について

    C言語の勉強について わたしは、前からC言語に興味を持っており入門書を買って勉強しました。 基本的なことは理解できましたが、これからどうすればいいのかわからなくなってしまいました Cに興味を持つ前はHSPをしていたのですが、これはさすがにプログラムの基本さえわかっていれば ヘルプを開き自分で考えて、だいぶ本格的ななゲームも作れたのですが、Cは思ったとおりに行かなくて そもそも、コマンドプロンプトから実行するプログラムしかわからないのですが みなさんは、私くらいのころはどんなことをしていましたか? ひたすらプログラムを書いていましたか? それとwindowsアプリケーションの開発はもっと後になりますか? C言語ではどんなソフトを作ったりしたことがありますか?

  • C言語について

    C言語を少しかじっている初心者です。こんな私が何故か今年会社の新人にプログラミングを指導することになりまして。。。ですが、あまりにもわからないことが多すぎるので、どなたかお助けください。 質問。 (1)C言語で開発されるシステムって実際にはどういうものが多いのでしょうか。 (2)CはVBなどのように、フォーム昨日がないですが、操作画面はどうやって作るのでしょうか。 (3)単体プログラムを結合をさせる時は、作った関数をヘッダファイルにして、mainで呼び出すのでしょうか。 また、研修の最後に成果を見せてもらうために、新人でプロジェクトを組んで簡単なシステムを作ってもらおうと思っています。設計から仕様書作成、結合、テスト・・・と一通りの開発手順を体験させたいのです。 でどんなシステムを作ってもらおうか悩んでいます。1プロジェクト6人で開発日数は3日。コンパイラはlsic-86で、ファイル処理関係がいいのです。なるべく実用的なもので・・・と考えているんですが、なにか良いネタはないですかね。。。 質問ずくめで申し訳ありませんが、どなたかよろしくお願いいたします。

  • 【C言語】直角三角形を表示させる方法について

    コマンドプロンプトにて、C言語で下記のような表示を行う処理させる方法がわかりません。どなたか教えて頂けますか? C:\>test.c  *****   ****    ***     **      *

  • C言語のsystem関数でコマンドのエイリアス

    C言語のsystem関数でエイリアスを設定したコマンドを実行する方法、どなたかご存じないでしょうか。 例えばbashを使っているユーザであれば、ユーザのbash_profileの中に alias id='id -g username' と記載し、idコマンドを実施した際には必ずusernameさんのグループIDを出力させるようにします。 この状態で、profileを読み込んでidコマンドを実行すると「500」等のIDが出力されます。 これをCのソースの中にsystem関数として記載します。 勿論ユーザはbashのプロファイルを読み込んでいる状態でgccします。 ソースファイル名をtest.cとすると、test.cのmainは以下 int main(){ system("id"); return 0; } この状態でソースをgccして、実行ファイルを実行しても出力結果は先ほどのグループIDのみではなく標準的なid,つまり uid=0(root) gid=0(root) 所属グループ=0(root),1(bin),2(daemon),3(sys) 以下省略 と出力されていしまいます。 やりたい事はエイリアスを設定したコマンドをCのsystem関数で使いたいのですが、どなたかやり方ご存知の方いらっしゃいますでしょうか。 使用しているOSはLinuxです。 どうぞ宜しくお願い致します。

  • HPUX 11iでの日付について

    AIX環境では、「env TZ=JST+63 date」コマンドで 三日前の日付が取得できたのですが、 HPUX 11iでは日付が取得できません。 結果としてはTZがJSTからEDTになってしまいます。 どうにかして、3日前を取得することは出来ませんでしょうか? 確認したところJST+では24までしか対応しておりませんでした。 HPUX 11i [TEST:root]env TZ=JST+63 date Wed May 31 03:42:48 EDT 2006 AIX 5.1 [TEST2:root]env TZ=JST+63 date Sun May 28 16:46:54 JST 2006

  • OSのシステム日付を変更してテスト

    Oracleがインストールされているサーバの システム日付を変更してテストを実施した いと考えております。 ネットを検索するシステム日付の危険は 危険な様ですが、問題ない手順をご存知な方 は教えて頂けないでしょうか。 宜しくお願いします。

専門家に質問してみよう