教えて!西暦の日付
西暦の日付を出力したいです。
年と月だけで良いです。
例えば、Oct 2004
教えてください!
お願いします。
回答(3件)
- 最新から表示
- |
- 回答順に表示
- |
- ベストアンサーのみ表示
No.3ベストアンサー20pt
#1さんの方法に加えて、strftime()を使用するという手もあります。
手順としては、
1.、2.(#1さんと同じ)
3.結果格納用のchar配列を用意する
4.strftime( 3.で用意した配列名, ←の領域長, "%b %Y", 2.で作成したtm構造体 )
5.結果を出力する
となります。
個人的には、一目で「時間→文字列処理をやっている」とわかるこちらのほうをお勧めします。
この回答へのお礼
助かりました。
どうも、ありがとうございます。
ソースファイルの頭で
#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互換だからどの環境でもいけるかと思うのですが。
この回答へのお礼
助かりました、
どうもありがとうございます。
ポイントは二人しかないので、
ごめんなさい。
No.1ベストアンサー10pt
質問文が簡潔すぎて処理条件と目的が読み取れないので以下の仕様と仮定します。
・今日の西暦年と月名を取得する
・コンソールへ出力する
・言語は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は時間関連標準関数の仕様です。
この回答へのお礼
助かりました、
どうもありがとうございます。
- 最新から表示
- |
- 回答順に表示
- |
- ベストアンサーのみ表示











