本記事(記事カラム)には広告が含まれています。

入力した年月の米雇用統計発表日を表示する|Python 練習 18-3

ハッシュタグバナー
「#fxなぜ勝てない」人気ブログランキング「#FXで勝てない人」人気ブログランキング「#FXで負けている人」人気ブログランキング「#FXで損切できない人」人気ブログランキング
PythonPython練習
記事内に広告が含まれています。

tkinter で 入力した年月の米雇用統計発表日を表示します。

2003年~2026年8月の期間を対象にしています。

DMM FX広告(差し込みタイプ)
広告(PR)|自分の投資スタイルを見つける。※タップで開閉
広告(PR)

DMM FXは、「最初の一歩を踏み出す場」として選ばれることがある

口座を開いてみた。取引してみた。思ったよりも難しかった。──そんな経験が、投資との距離感を知るきっかけになることもあります。


サービスを通じて、自分の投資スタイルを見つける。それは、確信ではなくても構いません。「試してみた」という実感が、次の選択の材料になることもあるからです。


DMM FXに関する詳細は、以下の広告(PR)リンクをご覧いただけます。


👇こちらは広告(PR)リンクバナーです

DMMFX

実際に書いたコード

【試してみる際のお願い】

  • プログラミングは、お使いのパソコンの環境(OSやアプリのバージョン)によって、同じコードでもエラーが出るケースがよくあります。
  • 外部での実行や利用を想定して作られていないため、万が一、動作を試されたことにより不具合等の損害が生じても、当方は一切の責任を負いかねます。
  • 自分用のメモにつき、質問やバグ修正などの個別サポートは一切行っておりません。試す場合は完全な自己責任でお願いいたします。
# 入力した年月の米雇用統計発表日を表示する
import tkinter as tk
from datetime import datetime, timedelta


def show_day():
    year = year_entry.get()
    month = month_entry.get()
    day = "12"

    # 入力が数字がどうかチェック
    if not (year.isdigit() and month.isdigit() and day.isdigit()):
        result_label.config(text="数字を入力してください")
        return

    try:
        y = int(year)
        m = int(month)
        d = int(day)

        # 入力年月の前月を参照する
        m -= 1
        if m < 1:
            m = 12
            y -= 1
        dt = datetime(y, m, d)
    except ValueError:
        result_label.config(text="存在しない年月です")
        return

    # 12日を含む週が終わってから3回目の金曜日が翌月の何日かを計算
    weekday_sunday0 = dt.isoweekday() % 7  # 日曜日=0 に変換
    friday = d + 5 - weekday_sunday0  # 12日を含む週の金曜日
    friday_3 = datetime(y, m, friday) + timedelta(
        days=21
    )  # 12日を含む週の金曜日から3週間後

    # 例外チェック
    # 2003年以降、2026年8月までを対象としています。
    # この例外は、現在内容を確認中です。参考程度にしてください。
    # 私が全ての年月で比較した上で作成した表ではなく、
    # 正確さがどの程度なのか分かっていません。
    result = friday_3
    cancel = False

    if result == datetime(2003, 7, 4):
        result = result.replace(day=3)

    if result == datetime(2008, 7, 4):
        result = result.replace(day=3)

    if result == datetime(2013, 10, 4):
        result = result.replace(day=22)

    if result == datetime(2013, 11, 1):
        result = result.replace(day=8)

    if result == datetime(2015, 7, 3):
        result = result.replace(day=2)

    if result == datetime(2020, 7, 3):
        result = result.replace(day=2)

    if result == datetime(2025, 11, 7):
        cancel = True  # 中止

    if result == datetime(2025, 12, 5):
        result = result.replace(day=16)

    if result == datetime(2026, 1, 2):
        result = result.replace(day=10)

    if result == datetime(2026, 2, 6):
        result = result.replace(day=11)

    if result == datetime(2026, 7, 3):
        result = result.replace(day=2)

    if cancel:
        result_label.config(text="中止")
    else:
        result_label.config(text=f"{result.day}日")


# --- GUI構築 ---
root = tk.Tk()
root.title("入力した年月の米雇用統計発表日を表示")
root.geometry("600x200")

tk.Label(root, text="年").pack()
year_entry = tk.Entry(root)
year_entry.pack()

tk.Label(root, text="月").pack()
month_entry = tk.Entry(root)
month_entry.pack()

tk.Button(
    root,
    text="入力した年月の米雇用統計発表日を表示",
    command=show_day,
).pack()

result_label = tk.Label(root, text="")
result_label.pack()

root.mainloop()

解説

入力年月の前月を参照

# 入力年月の前月を参照する
m -= 1
if m < 1:
    m = 12
    y -= 1

やっていることは 「月を1つ戻すだけ」 です。 雇用統計ロジックが “前月の12日を使う” 仕様なので、結局この処理が一番シンプルで壊れません。

datetime は 0 月を受け付けないため、1月だけは 12月に巻き戻して年を1つ減らしています。 関数化しようとしましたが、最終的にはこの形が一番安全でした。

例外チェック

ロジックで計算した発表日をベースにして、 過去にズレていた年月だけ if で補正しています。

2025年11月だけは発表が中止だったため、 この月は "中止" を表示するにしています。

実行結果

Auto Py to Exe で、Windowsのexeアプリ化して、実行。

フォローバナー
踊るFX CS - にほんブログ村 人気ブログランキングでフォロー
外部サイト広告

高額です。ご覚悟をぉぉぉ!!!

迷ったらこちら ▶ 東京ディズニーランド

この枠内は、広告(PR)を含みます。
※FXは元本保証のない金融商品です。相場変動により損失が生じる可能性がありますので、ご理解のうえでご覧ください。



(PR)Trade Trainer FX検証用ソフト
(PR)MT4裁量トレード練習君プレミアム2
(PR)ワンクリックFXトレーニングMAX/OneClickFX training MAX 裁量トレードの練習用トレーニングEA、24時間365日いつでも練習することができます!
(PR)ぷーさん式FX トレンドフォロー手法トレードマニュアル輝
(PR)ぷーさん式FX 逆張りトレードマニュアル 火花~ひばな~
(PR)ぷーさん式FX デイトレード手法 炎-えん-
(PR)スキャルピングプロ ~プロも使う追撃シグナルで短期安全資産運用~
(PR)FXライントレード大全
(PR)FX歴38年の重鎮!岡安盛男のFX極

ワンクリックFX WINNERS

シリーズ全5製品を1つにまとめたオールインワンの統合トレード環境

「ワンクリックFX WINNERS」は、MT4/MT5向けの「ワンクリックFX」シリーズ全5製品を1つにまとめたオールインワンの統合トレード環境(パッケージ商品)です。

単体のツールではなく、練習・検証からリアルトレード、自動売買、リスク管理までをワンストップで行えるようにセット化されています。

  1. ワンクリックFX MAX(リアルトレード支援)
    • ワンクリックでの注文・一括決済や、柔軟なトレーリングストップ、リスク%に応じたロット自動計算などで実戦トレードをアシスト。
  2. ワンクリックFXトレーニング(練習&検証シミュレーター)
    • 土日や深夜でも過去チャートを再現してノーリスクで練習可能。トレード結果のAI分析・評価機能も搭載。
  3. ワンクリックFXクローザー(口座リスク管理・決済アシスト)
    • 複数通貨ペアや他社EAも含めた全ポジションの損益をリアルタイムでチャート可視化し、一括・部分決済で資金を防衛。※MT5版は、現在準備中
  4. ワンクリックFX検証withAI(テクニカル検証支援)
    • トレードの振り返りや手法のバックテスト結果を生成AI等を活用して分析・検証するツール。
  5. ワンクリックFXアローズ(シグナル自動売買&検証)
    • 手持ちのサインツール(矢印インジケーター)を連動させ、自動売買化や過去データでの勝率シミュレーションを行うツール。※MT5版は、現在準備中

※MT5版は順次追加、2026年末には対応予定の全商品がリリースされる予定です。購入者の方は追加費用無しでご利用いただけます。

\ 公式サイトで詳細を見る /
ワンクリックFX WINNERS
本の広告

本を読む

この枠内は、広告(PR)を含みます。
※FXは元本保証のない金融商品です。相場変動により損失が生じる可能性がありますので、ご理解のうえでご覧ください。

『火車』宮部みゆき 

本好きの先輩も絶賛!移動中の時間を忘れる傑作ミステリー

出張に出かける先輩から「電車の中で暇だから何か貸して」と言われ、この本を渡しました。戻ってきた開口一番、「ずいぶん面白い本読んでるじゃねーか!」と大絶賛。

クレジットカード破産と女性の失踪をめぐる重厚なストーリーで、一度読み始めるとページをめくる手が止まらなくなります。通勤や長距離移動のお供にぜひ。

\ Amazonで詳細・口コミを見る /

火車 (新潮文庫)

『ゾーン — 相場心理学入門』マーク・ダグラス

投資家の精神(メンタル)を鍛え上げるバイブル

FXを始めてすぐの時期に買いました。私は本にあまり書き込みをしないタイプなのですが、なぜかこの本には書き込みをしています。それだけ「本気で理解したい」と思わせる深さがありました。

……ただ、正直に言うと内容がかなり難解で、「読み終わった」という実感がありません。

「今度こそ」と思ってたまに手には取るものの、やっぱり難しくて途中で閉じてしまう。それでも手放す気になれない、不思議な魅力を持った一冊です。

\ Amazonで詳細・口コミを見る /
『デイトレード』オリバー・ベレス / グレッグ・カプラ

トレードのメンタル面や心得について書かれた名著と言われる本

通勤電車の中で2回がっつり読み込みました。ただ、正直なところ「この本がトレードの役に立ったか」と言われると、全くそんな感じがしていません。

Amazonなどで他の方の口コミを見ると大絶賛ばかりで、その熱量にドン引きです。「自分はみんなと感覚が違うんだな」と痛感させられました。それでもまだ手元に置いてあります。

\ Amazonで詳細・口コミを見る /
『投資マスターガイド』株式会社FPO

FXを始める前に読んでおきたかった無料の電子書籍

FXのトレードがある程度できるようになってから、「そういえば入門書を1冊も持っていないな」とふと思ったんです。 そこで本を買おうと探してみたものの、どれもピンとこず……結局手にしたのは無料のこの電子書籍でした。

実際に読んでみた感想としては、正直そこまで役立ったわけではありませんでした。というのも、すでに自分の中で情報の取捨選択ができる状態になっていたからです。読むタイミングが遅すぎました。 FXを始める前や、まだ手探りの段階で読んでおくのが一番効果的だと思います。


\ メールアドレス登録だけで今すぐ読めます /
FX投資マスターガイド無料提供中!(図解オールカラー128ページ)

\ 詳しく解説しました /
自分使用口座広告

口座をまだ選べていない人へ

私が利用している口座を公開しています(広告・PRを含みます)。※タップで開閉

以下はサイト運営者が利用・検討中の口座情報です。

サイト運営者が開設・利用している口座(広告(PR)リンクを含みます)
DMM FX 外国為替証拠金取引らくらくFX【外為ファイネスト】国内MT4・NDDカリネックスブリッジ
ぶっちゃけメイン口座は、FXTFです。SBI FXトレードは最初に開設した口座です。DMM FXは、5番目くらいに開設した口座ですが、使い始めた時に1番最初に開設しておけばよかったと思った口座です。ヒロセ通商とJFXは両方同時に開設、どっちのキャンペーンで迷わない、ダブルキャンペーン作戦。他にも開設したい口座はありますが、管理的にお腹一杯です。
(PR)FXトレード・フィナンシャル
(PR)DMM FX
(PR)ヒロセ通商、(PR)JFX

サイト運営者がGMOクリック証券を利用していない理由は、審査に落ちたからです。口座開設時、資金運用方針に強気の回答をしたのが原因だと思います。もちろん反省しています。

MT4でEA稼働口座は、FXTF、外為ファイネスト、楽天FXです。
(PR)FXトレード・フィナンシャル
(PR)業界最狭水準スプレッドの国内MT4!カリネックスブリッジ採用
楽天証券 FX

架空キャラ「麻美」による開設迷い中の口座(広告(PR)リンクを含みます)
DMM FX 外国為替証拠金取引らくらくFX【外為ファイネスト】国内MT4・NDDカリネックスブリッジ

架空キャラ「深雪」による使用中の架空証券会社

サイト運営者が利用したことがある口座(広告(PR)リンクを含みます)

人気ブログランキングの説明

人気ブログランキングのメリット

このサイトでは、下のようなバナーを置いています。他のサイトでも同じようなものを見かけたことがあるかもしれません。

「#為替」人気ブログランキング「#fx」人気ブログランキング「#python」人気ブログランキング「#fx生活」人気ブログランキング「#fxブログ」人気ブログランキング「#fxなぜ勝てない」人気ブログランキング「#FXで勝てない人」人気ブログランキング「#FXで負けている人」人気ブログランキング「#FXで損切できない人」人気ブログランキング

これらは、外部サイト『人気ブログランキング』を開くためのリンクです。

人気ブログランキングとは、ネット上にあるたくさんのブログが集まり、カテゴリ別に順位を競っているポータルサイトです。

なぜこんなバナーを置いてあるのか?

一番の理由は、サイトの「宣伝」と「ポイント獲得」のためです。 バナーをクリックして外部サイトへ移動してもらうことで、当ブログにポイントが入り、ランキングでの露出が増える仕組みになっています。

読者にとって何かメリットはあるのか?

実はこの「人気ブログランキング」、Googleなどの検索エンジンではなかなか見つけにくい個人ブログやマニアックな記事を探すのにすごく役立ちます。

同じカテゴリ(為替・FXなど)で「今どんな記事が読まれているのか」「他の人はどんな分析をしているのか」を一覧で探したい時のポータルサイトとして、ぜひ活用してみてください。

フォローバナーとは?

人気ブログランキングでフォロー


こちらのバナーは、特殊なバナーで、人気ブログランキングを開くと同時に、人気ブログランキング内で、当ブログを「お気に入り登録(フォロー)」します。後で登録解除は可能です。

他のブログランキングについて

当サイトでは『日本ブログ村』や『FC2ブログランキング』にも参加しています。基本的な仕組みや設置目的は同じです。