.. raw:: html
次回の「システム管理者感謝の日」は?
-------------------------------------
| 「システム管理者感謝の日」は毎年やってきます。
| 「システム管理者感謝の日」はいつなのか?が気になりますよね。
| 毎年7月最後の金曜日なので、毎年、日にちが少しづつ違っています。
| そこで、未来の「システム管理者感謝の日」を調べるスクリプトをpython で作成しました。
| これなら、100年先、200年先の「システム管理者感謝の日」を調べることが可能です。
| 以下がそのスクリプトです。2000年から、500年分の「システム管理者感謝の日」を表示します。
python スクリプト
^^^^^^^^^^^^^^^^^^^^^^^^^
.. code-block:: python
:linenos:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import datetime
import locale
# 2000年から、200年分の「システム管理者感謝の日」を調べる。
# 以下のようにして、実行して下さい。
# > python.exe .\checkSAD.py
# d = datetime.date(1970, 1, 1) # UNIX歴の最初の日をスタートとする。
d = datetime.date(2000, 1, 1) # 2000/1/1を検索のスタート日とする。
LastFriday = datetime.date(2000, 7, 6) # 最初の「システム管理者感謝の日」
LastDay = datetime.date(2200, 12, 31)
while LastDay > d:
if d.month == 7 : # 7月 で、金曜日であれば、その日を記録する。
if d.weekday() == 4 : # 0 : 月曜日, 1 : 火曜日, 2 : 水曜日, 3 : 木曜日, 4 : 金曜日, 5 : 土曜日, 6 : 日曜日
LastFriday = d
if d.month == 8 : # 8月 になった時点で、記録されている日が7月最後の金曜日
if None != LastFriday:
print(LastFriday.strftime("%Y-%m-%d %A"))
LastFriday = None # この変数を初期化して、次の年の「システム管理者感謝の日」に備える。
d = d + datetime.timedelta(days=1)
実行方法
^^^^^^^^^^^^^^^^^^^^^^^^^
スクリプトの実行方法は、以下のとおりです。
.. code-block:: none
> python checkSAD.py
.. raw:: html
実行結果
^^^^^^^^^^^^^^^^^^^^^^^^^
.. code-block:: none
:linenos:
2000-07-28 Friday
2001-07-27 Friday
2002-07-26 Friday
2003-07-25 Friday
2004-07-30 Friday
2005-07-29 Friday
2006-07-28 Friday
2007-07-27 Friday
2008-07-25 Friday
2009-07-31 Friday
2010-07-30 Friday
2011-07-29 Friday
2012-07-27 Friday
2013-07-26 Friday
2014-07-25 Friday
2015-07-31 Friday
2016-07-29 Friday
2017-07-28 Friday
2018-07-27 Friday
2019-07-26 Friday
2020-07-31 Friday
2021-07-30 Friday
2022-07-29 Friday
2023-07-28 Friday
2024-07-26 Friday
2025-07-25 Friday
2026-07-31 Friday
2027-07-30 Friday
2028-07-28 Friday
2029-07-27 Friday
2030-07-26 Friday
2031-07-25 Friday
2032-07-30 Friday
2033-07-29 Friday
2034-07-28 Friday
2035-07-27 Friday
2036-07-25 Friday
2037-07-31 Friday
2038-07-30 Friday
2039-07-29 Friday
2040-07-27 Friday
2041-07-26 Friday
2042-07-25 Friday
2043-07-31 Friday
2044-07-29 Friday
2045-07-28 Friday
2046-07-27 Friday
2047-07-26 Friday
2048-07-31 Friday
2049-07-30 Friday
2050-07-29 Friday
2051-07-28 Friday
2052-07-26 Friday
2053-07-25 Friday
2054-07-31 Friday
2055-07-30 Friday
2056-07-28 Friday
2057-07-27 Friday
2058-07-26 Friday
2059-07-25 Friday
2060-07-30 Friday
2061-07-29 Friday
2062-07-28 Friday
2063-07-27 Friday
2064-07-25 Friday
2065-07-31 Friday
2066-07-30 Friday
2067-07-29 Friday
2068-07-27 Friday
2069-07-26 Friday
2070-07-25 Friday
2071-07-31 Friday
2072-07-29 Friday
2073-07-28 Friday
2074-07-27 Friday
2075-07-26 Friday
2076-07-31 Friday
2077-07-30 Friday
2078-07-29 Friday
2079-07-28 Friday
2080-07-26 Friday
2081-07-25 Friday
2082-07-31 Friday
2083-07-30 Friday
2084-07-28 Friday
2085-07-27 Friday
2086-07-26 Friday
2087-07-25 Friday
2088-07-30 Friday
2089-07-29 Friday
2090-07-28 Friday
2091-07-27 Friday
2092-07-25 Friday
2093-07-31 Friday
2094-07-30 Friday
2095-07-29 Friday
2096-07-27 Friday
2097-07-26 Friday
2098-07-25 Friday
2099-07-31 Friday
2100-07-30 Friday
2101-07-29 Friday
2102-07-28 Friday
2103-07-27 Friday
2104-07-25 Friday
2105-07-31 Friday
2106-07-30 Friday
2107-07-29 Friday
2108-07-27 Friday
2109-07-26 Friday
2110-07-25 Friday
2111-07-31 Friday
2112-07-29 Friday
2113-07-28 Friday
2114-07-27 Friday
2115-07-26 Friday
2116-07-31 Friday
2117-07-30 Friday
2118-07-29 Friday
2119-07-28 Friday
2120-07-26 Friday
2121-07-25 Friday
2122-07-31 Friday
2123-07-30 Friday
2124-07-28 Friday
2125-07-27 Friday
2126-07-26 Friday
2127-07-25 Friday
2128-07-30 Friday
2129-07-29 Friday
2130-07-28 Friday
2131-07-27 Friday
2132-07-25 Friday
2133-07-31 Friday
2134-07-30 Friday
2135-07-29 Friday
2136-07-27 Friday
2137-07-26 Friday
2138-07-25 Friday
2139-07-31 Friday
2140-07-29 Friday
2141-07-28 Friday
2142-07-27 Friday
2143-07-26 Friday
2144-07-31 Friday
2145-07-30 Friday
2146-07-29 Friday
2147-07-28 Friday
2148-07-26 Friday
2149-07-25 Friday
2150-07-31 Friday
2151-07-30 Friday
2152-07-28 Friday
2153-07-27 Friday
2154-07-26 Friday
2155-07-25 Friday
2156-07-30 Friday
2157-07-29 Friday
2158-07-28 Friday
2159-07-27 Friday
2160-07-25 Friday
2161-07-31 Friday
2162-07-30 Friday
2163-07-29 Friday
2164-07-27 Friday
2165-07-26 Friday
2166-07-25 Friday
2167-07-31 Friday
2168-07-29 Friday
2169-07-28 Friday
2170-07-27 Friday
2171-07-26 Friday
2172-07-31 Friday
2173-07-30 Friday
2174-07-29 Friday
2175-07-28 Friday
2176-07-26 Friday
2177-07-25 Friday
2178-07-31 Friday
2179-07-30 Friday
2180-07-28 Friday
2181-07-27 Friday
2182-07-26 Friday
2183-07-25 Friday
2184-07-30 Friday
2185-07-29 Friday
2186-07-28 Friday
2187-07-27 Friday
2188-07-25 Friday
2189-07-31 Friday
2190-07-30 Friday
2191-07-29 Friday
2192-07-27 Friday
2193-07-26 Friday
2194-07-25 Friday
2195-07-31 Friday
2196-07-29 Friday
2197-07-28 Friday
2198-07-27 Friday
2199-07-26 Friday
2200-07-25 Friday
2201-07-31 Friday
2202-07-30 Friday
2203-07-29 Friday
2204-07-27 Friday
2205-07-26 Friday
2206-07-25 Friday
2207-07-31 Friday
2208-07-29 Friday
2209-07-28 Friday
2210-07-27 Friday
2211-07-26 Friday
2212-07-31 Friday
2213-07-30 Friday
2214-07-29 Friday
2215-07-28 Friday
2216-07-26 Friday
2217-07-25 Friday
2218-07-31 Friday
2219-07-30 Friday
2220-07-28 Friday
2221-07-27 Friday
2222-07-26 Friday
2223-07-25 Friday
2224-07-30 Friday
2225-07-29 Friday
2226-07-28 Friday
2227-07-27 Friday
2228-07-25 Friday
2229-07-31 Friday
2230-07-30 Friday
2231-07-29 Friday
2232-07-27 Friday
2233-07-26 Friday
2234-07-25 Friday
2235-07-31 Friday
2236-07-29 Friday
2237-07-28 Friday
2238-07-27 Friday
2239-07-26 Friday
2240-07-31 Friday
2241-07-30 Friday
2242-07-29 Friday
2243-07-28 Friday
2244-07-26 Friday
2245-07-25 Friday
2246-07-31 Friday
2247-07-30 Friday
2248-07-28 Friday
2249-07-27 Friday
2250-07-26 Friday
2251-07-25 Friday
2252-07-30 Friday
2253-07-29 Friday
2254-07-28 Friday
2255-07-27 Friday
2256-07-25 Friday
2257-07-31 Friday
2258-07-30 Friday
2259-07-29 Friday
2260-07-27 Friday
2261-07-26 Friday
2262-07-25 Friday
2263-07-31 Friday
2264-07-29 Friday
2265-07-28 Friday
2266-07-27 Friday
2267-07-26 Friday
2268-07-31 Friday
2269-07-30 Friday
2270-07-29 Friday
2271-07-28 Friday
2272-07-26 Friday
2273-07-25 Friday
2274-07-31 Friday
2275-07-30 Friday
2276-07-28 Friday
2277-07-27 Friday
2278-07-26 Friday
2279-07-25 Friday
2280-07-30 Friday
2281-07-29 Friday
2282-07-28 Friday
2283-07-27 Friday
2284-07-25 Friday
2285-07-31 Friday
2286-07-30 Friday
2287-07-29 Friday
2288-07-27 Friday
2289-07-26 Friday
2290-07-25 Friday
2291-07-31 Friday
2292-07-29 Friday
2293-07-28 Friday
2294-07-27 Friday
2295-07-26 Friday
2296-07-31 Friday
2297-07-30 Friday
2298-07-29 Friday
2299-07-28 Friday
2300-07-27 Friday
2301-07-26 Friday
2302-07-25 Friday
2303-07-31 Friday
2304-07-29 Friday
2305-07-28 Friday
2306-07-27 Friday
2307-07-26 Friday
2308-07-31 Friday
2309-07-30 Friday
2310-07-29 Friday
2311-07-28 Friday
2312-07-26 Friday
2313-07-25 Friday
2314-07-31 Friday
2315-07-30 Friday
2316-07-28 Friday
2317-07-27 Friday
2318-07-26 Friday
2319-07-25 Friday
2320-07-30 Friday
2321-07-29 Friday
2322-07-28 Friday
2323-07-27 Friday
2324-07-25 Friday
2325-07-31 Friday
2326-07-30 Friday
2327-07-29 Friday
2328-07-27 Friday
2329-07-26 Friday
2330-07-25 Friday
2331-07-31 Friday
2332-07-29 Friday
2333-07-28 Friday
2334-07-27 Friday
2335-07-26 Friday
2336-07-31 Friday
2337-07-30 Friday
2338-07-29 Friday
2339-07-28 Friday
2340-07-26 Friday
2341-07-25 Friday
2342-07-31 Friday
2343-07-30 Friday
2344-07-28 Friday
2345-07-27 Friday
2346-07-26 Friday
2347-07-25 Friday
2348-07-30 Friday
2349-07-29 Friday
2350-07-28 Friday
2351-07-27 Friday
2352-07-25 Friday
2353-07-31 Friday
2354-07-30 Friday
2355-07-29 Friday
2356-07-27 Friday
2357-07-26 Friday
2358-07-25 Friday
2359-07-31 Friday
2360-07-29 Friday
2361-07-28 Friday
2362-07-27 Friday
2363-07-26 Friday
2364-07-31 Friday
2365-07-30 Friday
2366-07-29 Friday
2367-07-28 Friday
2368-07-26 Friday
2369-07-25 Friday
2370-07-31 Friday
2371-07-30 Friday
2372-07-28 Friday
2373-07-27 Friday
2374-07-26 Friday
2375-07-25 Friday
2376-07-30 Friday
2377-07-29 Friday
2378-07-28 Friday
2379-07-27 Friday
2380-07-25 Friday
2381-07-31 Friday
2382-07-30 Friday
2383-07-29 Friday
2384-07-27 Friday
2385-07-26 Friday
2386-07-25 Friday
2387-07-31 Friday
2388-07-29 Friday
2389-07-28 Friday
2390-07-27 Friday
2391-07-26 Friday
2392-07-31 Friday
2393-07-30 Friday
2394-07-29 Friday
2395-07-28 Friday
2396-07-26 Friday
2397-07-25 Friday
2398-07-31 Friday
2399-07-30 Friday
2400-07-28 Friday
2401-07-27 Friday
2402-07-26 Friday
2403-07-25 Friday
2404-07-30 Friday
2405-07-29 Friday
2406-07-28 Friday
2407-07-27 Friday
2408-07-25 Friday
2409-07-31 Friday
2410-07-30 Friday
2411-07-29 Friday
2412-07-27 Friday
2413-07-26 Friday
2414-07-25 Friday
2415-07-31 Friday
2416-07-29 Friday
2417-07-28 Friday
2418-07-27 Friday
2419-07-26 Friday
2420-07-31 Friday
2421-07-30 Friday
2422-07-29 Friday
2423-07-28 Friday
2424-07-26 Friday
2425-07-25 Friday
2426-07-31 Friday
2427-07-30 Friday
2428-07-28 Friday
2429-07-27 Friday
2430-07-26 Friday
2431-07-25 Friday
2432-07-30 Friday
2433-07-29 Friday
2434-07-28 Friday
2435-07-27 Friday
2436-07-25 Friday
2437-07-31 Friday
2438-07-30 Friday
2439-07-29 Friday
2440-07-27 Friday
2441-07-26 Friday
2442-07-25 Friday
2443-07-31 Friday
2444-07-29 Friday
2445-07-28 Friday
2446-07-27 Friday
2447-07-26 Friday
2448-07-31 Friday
2449-07-30 Friday
2450-07-29 Friday
2451-07-28 Friday
2452-07-26 Friday
2453-07-25 Friday
2454-07-31 Friday
2455-07-30 Friday
2456-07-28 Friday
2457-07-27 Friday
2458-07-26 Friday
2459-07-25 Friday
2460-07-30 Friday
2461-07-29 Friday
2462-07-28 Friday
2463-07-27 Friday
2464-07-25 Friday
2465-07-31 Friday
2466-07-30 Friday
2467-07-29 Friday
2468-07-27 Friday
2469-07-26 Friday
2470-07-25 Friday
2471-07-31 Friday
2472-07-29 Friday
2473-07-28 Friday
2474-07-27 Friday
2475-07-26 Friday
2476-07-31 Friday
2477-07-30 Friday
2478-07-29 Friday
2479-07-28 Friday
2480-07-26 Friday
2481-07-25 Friday
2482-07-31 Friday
2483-07-30 Friday
2484-07-28 Friday
2485-07-27 Friday
2486-07-26 Friday
2487-07-25 Friday
2488-07-30 Friday
2489-07-29 Friday
2490-07-28 Friday
2491-07-27 Friday
2492-07-25 Friday
2493-07-31 Friday
2494-07-30 Friday
2495-07-29 Friday
2496-07-27 Friday
2497-07-26 Friday
2498-07-25 Friday
2499-07-31 Friday
2500-07-30 Friday