- ベストアンサー
教えて!西暦の日付
西暦の日付を出力したいです。 年と月だけで良いです。 例えば、Oct 2004 教えてください! お願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
#1さんの方法に加えて、strftime()を使用するという手もあります。 手順としては、 1.、2.(#1さんと同じ) 3.結果格納用のchar配列を用意する 4.strftime( 3.で用意した配列名, ←の領域長, "%b %Y", 2.で作成したtm構造体 ) 5.結果を出力する となります。 個人的には、一目で「時間→文字列処理をやっている」とわかるこちらのほうをお勧めします。
その他の回答 (2)
- msykykt
- ベストアンサー率35% (15/42)
ソースファイルの頭で #include <time.h> を追加して、 関数で time_t ltm; struct tm *now; と変数宣言し、 time(<m); now=localtime(<m); を実行すれば now->tm_yearに「西暦-1900」、 now->tm_monに0~11の「月ー1」 が取得できます。 形式に拘らなければ localtimeの代わりにctimeを使うという手もあり。 ANSI互換だからどの環境でもいけるかと思うのですが。
お礼
助かりました、 どうもありがとうございます。 ポイントは二人しかないので、 ごめんなさい。
- toysmith
- ベストアンサー率37% (570/1525)
質問文が簡潔すぎて処理条件と目的が読み取れないので以下の仕様と仮定します。 ・今日の西暦年と月名を取得する ・コンソールへ出力する ・言語は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は時間関連標準関数の仕様です。
お礼
助かりました、 どうもありがとうございます。
お礼
助かりました。 どうも、ありがとうございます。