• ベストアンサー

日付から曜日を求めたい

Windows APIでプログラミングしています。時間のデータはSYSTEMTIMEを使ってます。 日付(wYear, wMonth, wDay)のみの情報から、曜日(wDayOfWeek)を求めたいのですが、どのような方法があるでしょうか?曜日を求めるAPI関数は存在しますか?

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

  • ベストアンサー
  • mtaka2
  • ベストアンサー率73% (867/1179)
回答No.1

曜日が入っていない状態のSYSTEMTIMEからSystemTimeToFileTimeでFILETIMEに変換し、 FileTimeToSystemTimeでSYSTEMTIMEに戻せば、曜日が入った状態になります。

BearCave
質問者

お礼

そんなシンプルな方法があるんですね。ありがとうございました!

その他の回答 (1)

  • bonchin
  • ベストアンサー率28% (7/25)
回答No.2

NO1の回答は素晴らしいです。思い付きませんでした。 WinAPI限定しなければ、mktime, localtimeの2つC関数で同じ結果が得られます。 自分で計算することも可能、1970/1/1の曜日を調べて、計算したい日との日数をmod 7で、曜日の計算ができます。 ところで、最初の曜日って誰がどう決めているのでしょうかね。

BearCave
質問者

お礼

UNIX系関数を使った方法ですね。アドバイスありがとうございました。

関連するQ&A

  • タスクトレイに日付と曜日を表示する方法

    Windows10を使っているものです。 いろいろいじっているうちに、タスクバーに今まで時間のほかに日付と曜日が表示されていたのですが、いつの間にか時間のみになってしまいました。 日付と曜日を表示させる方法をご存知でしたら教えてください。

  • vbaで日付から曜日と祝日を求める方法

    vbaでWeekday関数を使わないで日付から曜日と祝日を求める方法を教えてください 課題でカレンダーを作らなきゃいけないんですが関数は使わないでと言われています

  • 日付と曜日を一気に出す方法

    エクセルで日付と曜日を一気に出したいのですが、うまくできません。 オートシェイプを使うと、日付は変わるのですが曜日が変わりません。 こうなってしまいます↓ 1日(月) 2日(月) 3日(月)  ・  ・  ・ 一気に出すには何か関数を使わなくてはいけないのでしょうか。 よろしくお願いします。

  • 2つのSYSTEMTIMEの時間の差を求めたい

    Windows APIに関する質問です。 2つのSYSTEMTIMEがあったとして、その時間の差を求める為のAPI関数(またはフリーで出回っているコード)は存在するでしょうか? 自作で作ろうかと思ったのですが、毎月の日数の違いや、うるう年などを考慮するとなると、結構複雑になりそうなので、既存の関数があるのなら利用したいと考えています。

  • エクセル2010で日付、曜日の表示法

    エクセル2010で当日の日付、曜日を一つのセルに【10月8日(月)】と表示させるにはどの様な関数を用いれば良いのでしょうか。また、連続した日付、曜日はオートフィルすれば表示できますか。合わせてお教え下さい。お願いいたします。

  • 日付データから曜日算出について

    お世話になります。 エクセルで、A列に日付のデータが有り、B列に =A1  として、書式設定のユーザー定義で aaa として曜日をB列に 算出しようとしましたが、うまくいきません。 うまくいかない理由は、日付データの頭に ' が入っている 為です。LEFT関数で抽出してから、コピーして値貼り付け しても ’ は消えません。一セルづつ ’をデリートすれば 消えますが、4万行ほどあり、とてもやってられません。 いい方法ないでしょうか。 お教え頂きたく宜しくお願い致します。

  • 曜日による日付

    ある月の特定曜日の祭日を除いた日を出す関数、または方法は?

  • エクセルで日付→曜日を返すには

    エクセルでエクセルで日付 (例 2004/8/1といった形式での入力)→ 曜日を返すには なにか関数がありますか? 飛び飛びの日付が隣り合ったセルに入力されているの ですが その間の日付をセルに返して 本来の位置に移動することは可能でしょうか? 自分で考えてみたのですが とっかかりさえつかめません、 皆様よろしくお願いします。

  • エクセル 日付から曜日を出せますか?

    ただいま家計簿の作成でちょっと 困っています 日付 2007/5/10 2007/5/15 2007/5/19 のように日付がとんでいる時に それぞれに曜日をつけるのに何か便利な方法はないでしょうか? ただいま以上の作業を2003円からさかのぼって行っており 曜日別でも管理できると便利だと思っているのですが どなたか、曜日を設定できる方法をご存知の方が いらっしゃったらお願いします

  • 指定した日付から曜日を求める。

    localtimeを使うと今現在の曜日や時間、日付がわかりますよね? そうではなく、たとえば、2003/09/12という指定をしたときに、金曜と返ってくるようにするにはどのようにしたらいいのでしょうか?

    • ベストアンサー
    • Perl

専門家に質問してみよう