• ベストアンサー

教えて!西暦の日付

西暦の日付を出力したいです。 年と月だけで良いです。 例えば、Oct 2004 教えてください! お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • hitomura
  • ベストアンサー率48% (325/664)
回答No.3

#1さんの方法に加えて、strftime()を使用するという手もあります。 手順としては、  1.、2.(#1さんと同じ)  3.結果格納用のchar配列を用意する  4.strftime( 3.で用意した配列名, ←の領域長, "%b %Y", 2.で作成したtm構造体 )  5.結果を出力する となります。 個人的には、一目で「時間→文字列処理をやっている」とわかるこちらのほうをお勧めします。

参考URL:
http://www.linux.or.jp/JM/html/LDP_man-pages/man3/strftime.3.html
2003saki
質問者

お礼

助かりました。 どうも、ありがとうございます。

その他の回答 (2)

  • msykykt
  • ベストアンサー率35% (15/42)
回答No.2

ソースファイルの頭で #include <time.h> を追加して、 関数で time_t ltm; struct tm *now; と変数宣言し、 time(&ltm); now=localtime(&ltm); を実行すれば now->tm_yearに「西暦-1900」、 now->tm_monに0~11の「月ー1」 が取得できます。 形式に拘らなければ localtimeの代わりにctimeを使うという手もあり。 ANSI互換だからどの環境でもいけるかと思うのですが。

2003saki
質問者

お礼

助かりました、 どうもありがとうございます。 ポイントは二人しかないので、 ごめんなさい。

  • toysmith
  • ベストアンサー率37% (570/1525)
回答No.1

質問文が簡潔すぎて処理条件と目的が読み取れないので以下の仕様と仮定します。 ・今日の西暦年と月名を取得する ・コンソールへ出力する ・言語はANSIーC 9899 まず月の名前をデータとして配列に作っときましょう。 char month[][] = "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"} ; 1.time()関数で現在時刻を取得 2.1で取得した現在時刻をlocaltime()関数でtm構造体に変換 3.tmのメンバー変数tm_yearを年として表示 4.tmのメンバー変数tm_monを添え字としてmonth[][]を参照し、月名を表示 参考URLは時間関連標準関数の仕様です。

参考URL:
http://www.linux.or.jp/JM/html/LDP_man-pages/man3/localtime.3.html
2003saki
質問者

お礼

助かりました、 どうもありがとうございます。

関連するQ&A

  • 年号の日付を西暦の日付に

    江戸末期の年号の日付を西暦に読み替えるにはどうすれば良いでしょうか? 例えば、天保5年8月1日は西暦何年の何月何日か? 読み替えるやり方、計算方法または、アプリケーションがあれば・・・。 エクセルの関数であれば、良いのですが、無さそうですので・・・ どなたか解る方がいたら、お願いします。

  • 日付に西暦を使ってよいのでしょうか

    いろいろな書類で、普段日付の”年”のところのは”H14”と書いてきましたが、できれば西暦で書きたいと思ってました。この前銀行で”′02”と書いたところ訂正の指示がありました。”2002”ならよいのでしょうか。なにか決まりがあるのか教えて下さい。

  • 【Excel】任意の西暦日付

    書式の日付で「2001/3/14」というタイプがありますが、「1/1」と入力すると、自動的に2013年とその年の西暦が入力されてしまいます。 西暦を打たずに日付だけ入力し、任意の西暦(例えば2011年)が自動で表現させるにはどうしたらよいでしょうか?

  • 納品書等の日付は西暦?

    初歩的な質問ですいません。 経理上、日付を記入するときは西暦で記入するのが正しいですか? 特に決まりが無いなら、どちらが一般的というかよく使われているのか知りたいです。(銀行等でも決まりがあるのでしょうか?) 会社内で2010年と書く人もいれば、平成22年で書く人もいてバラバラなので統一しようと思ってます。 宜しくお願いします。

  • 和暦日付を西暦に変換する方法

    エクセルでテキスト形式の和暦日付(例:平成20年2月15日)のデータを西暦(例:15Feb08)に変換したいのですが、うまくいきません。何か方法はありますでしょうか。

  • ACCESSのフォームに本日の日付を西暦表示したいです。

    ACCESSのフォームに本日の日付を西暦表示したいです。たとえば・・・ 平成16年5月20日  という感じで・・・ どなたか教えてください・ テキストボックスを使っています。

  • 旧暦を西暦に対応させるといつになるのか分かりますか

    歴史的な出来事の日付は、旧暦で書かれていることがほとんどです。その日が、西暦に該当させるといつになるのかを調べたいと思っています。例えば鎌倉時代の4月1日が、西暦だと○年□月△日となる、ということが分かる本は、ありませんでしょうか?

  • システム日付が西暦なのかチェックしたい(VB)

    VBで、 システム日付が西暦なのかどうかチェックしたいです。 西暦かどうかを確認する方法はありますでしょうか? 考えた方法としては、 DATE関数でシステム日付を取得し、 その値がFormat(Date, "YYYYMMDD")と一致するかどうかで 西暦かどうかを判断する処理を考えましたが、 果たしてこれが正しいといえるのか不安です・・・。

  • 日付データの西暦・和暦について

    よろしくお願いします。 Vb2005とAccess2003でWinアプリを開発しています。 データベースに日付データを西暦で蓄積して、期間合計を出したりその他の処理を行っていました。 フォーム上にDateTimePikerやMonthCalendarといったユーザーコントロールを配置していますが、これも西暦です。 印刷等もすべて西暦表示で行っています。 これを、すべて和暦にして欲しいと言われたのですが、Accessのデータベースも和暦で日付データを蓄積するのが良いのでしょうか? それとも、フォーム上で和暦で入力されたデータを西暦に変換して蓄積するほうが普通なのでしょうか? 元号が変更になった場合等を考えれば、帳票類も西暦のほうがプログラムの変更(更新)の手間がなく良いような気がするのですが、和暦って結構ニーズがあったりしますでしょうか?(私は経験が浅いのでよくわからず、素朴な疑問です) DateTimePikerの和暦表示については、紹介サイトがあったのですが、MonthCalendarについては和暦表示できるのかわかりませんでした。方法がありましたら教えてください。 日付の西暦・和暦について、アプリケーションを作るうえでのアドバイス等もありましたらあわせてお願い致します。

  • エクセルで日付を和暦→西暦に変換するには・・・

    過去の質問履歴を検索したのですが、上手く行かないので教えて下さい・・・。 エクセルの表で「5500401」というような日付があるとします。 先頭の5は「昭和」というコードで50年4月1日を表現しています。 このようなデータを西暦で「19750401」と表示させたいのですが、どのようにすれば良いのか分かりません・・・。 マニュアルなどを見て関数を作っても上手く行きません。 分かる方がいらっしゃったらよろしくお願いします!

専門家に質問してみよう