タイトルの通りなんですが、今日の曜日の取得方法についてアドバイスをお願いします。
自分でネットを調べてみて、下記の通りに記述してみました。
$times = time();
($tsec,$tmin,$thour,$tmday,$tmonth,$tyear,$weekday,$tstime) = localtime($times);
@weekly = ('Sun', 'Mon', 'Tue', 'Wed', 'Thr', 'Fri', 'Sut');
次に表示した場所に
print "$weekly[$weekday]\n";
と記述したら、一応今日の曜日(Thr)が表示されました。
私はPerlは全くの初心者で、何とか自力でここまで辿り着く事ができたのですが、このような記述の方法で間違いはないでしょうか?
うるう年の計算も、付け加えないといけませんか?
初歩的な質問かもしれませんが、アドバイスを頂けると助かります。
それでは、よろしくお願いします。
No.1
- 回答日時:
日付取得のルーチンは使いまわしできるので意外と重要ですよね。
ここのサイトを参考にしてみては?
わかりやすくていいですよ
http://www2u.biglobe.ne.jp/~MAS/perl/waza/menu.h …
参考URL:http://www2u.biglobe.ne.jp/~MAS/perl/waza/menu.h …
御回答ありがとうございます。
参考先のサイトは検索で1度みてみましたが、どのように使用するのかちょっと分からなかったので、ここで記述されている方法は使用しませんでした。
ですが、その他にもいろいろと説明があるようなので、今後参考にしてみようと思います。
No.2
- 回答日時:
あってると思うよ。
うるう年は自分で計算しなくていいです。
過去や未来の曜日が知りたければ自分で計算する場合もありますが。その場言いはツェラーの公式だったかな?が便利かと。
御回答ありがとうございます。
とりあえずはこの記述方法で合っているのですね。
あと気になったのですが、年に1900をプラスしたり、月に1をプラスする必要はないのでしょうか?
曜日のみ表示させたいだけなので、年や月は直接関係ないような気もしますが、特に修正する必要はありますか?
アドバイスを頂けると助かります。
よろしくお願いします。
No.3ベストアンサー
- 回答日時:
localtime という関数は、うるう年なども考慮した日時情報を返すので、その辺は気にせず利用することができます。
また、曜日の取得や表示についても問題ありません。ただ、No.2の補足にも書かれていますが、曜日しか必要ないのに他の情報まで取得するのは気持ち悪いですよね?localtime() の戻値は「リスト」なので、「添え字」を使って曜日だけを取り出すことができます。
$weekday = (localtime($times))[6];
※「localtime($times)」全体を ( ) で囲む必要があります。
また localtime() は、引数がなければ勝手に time() の値を使うので、それも省略して次のように書くことができます。
$weekday = (localtime)[6];
※time や localtime などの組み込み関数は、( ) がなくても関数として呼び出せます。
蛇足ですがついでに書くと、曜日名だけが必要で、@weekly や $weekday を他で使わないなら、次のようにも書けます。
$wday_name = qw(Sun Mon Tue Wed Thr Fri Sat)[ (localtime)[6] ];
※「qw(Sun Mon …)」は「('Sun','Mon',…)」と等価です。
# 書いてて気が付きましたが、土曜日の略は 'Sut' ではなく 'Sat' ですね。
お返事が遅れてしまい、申し訳ありません。
御回答ありがとうございます。
特にうるう年について特別修正する事はないんですね。
もっと簡単に記述する方法も教えて頂き、ありがとうございます。
教えて頂いた方法を試してみて、上手くできたらその方法で曜日を表示させようと思います。
># 書いてて気が付きましたが、土曜日の略は 'Sut' ではなく 'Sat' ですね。
おはずかしい(^^;
仰る通りです。
とても基本的なところで間違えてしまいました。。。
丁寧に教えて頂きありがとうございました。
また何か御質問させて頂く事がありかもしれませんが、よろしくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ワークシートチェンジで曜日を表示する方法 1 2023/03/04 21:51
- Access(アクセス) Access DTPickerの初期表示月を変えたい 1 2022/08/02 08:55
- Excel(エクセル) 出勤簿の土、日、休日に色付けできない 2 2022/08/04 20:10
- 葬儀・葬式 忌引メールの書き方についてご教授お願い致します。 1 2022/07/10 11:01
- その他(Microsoft Office) 従業員増減対応で当番種類の増減対応な当番表 21 2022/07/19 07:30
- その他(開発・運用・管理) WindowsからSSHでサーバーにあるファイルをダウンロードできない…。 3 2022/04/24 11:08
- Excel(エクセル) 週毎の集計 2 2023/08/04 16:56
- 数学 ダミー変数での相関係数の算出にやり方(疫学の分析手法について) 14 2023/03/17 11:46
- Excel(エクセル) 下記エクセルの式がなぜこうなるのか理由が知りたいです。 6 2022/08/20 00:43
- 大学受験 僕は今年の共通テストで、ボーダーに49点足りませんでした。マーク式より記述式の試験の方が得意で、駿台 1 2023/02/19 23:35
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
よくある 『 第○(1・2・3・4・...
-
月の第一週とは
-
毎○曜日って、使いますか?
-
エクセルで毎月第2週日の水曜日...
-
6月の第2 第4火曜日は何日...
-
週2回のペースって だいたい何...
-
毎週同じ曜日にラブホに行くと...
-
燃えるゴミの日は何曜日ですか?
-
Excel VBA 第〇△曜日の場合休日...
-
ユーザー定義の(aaa)
-
指定曜日にMsgBox表示は可能で...
-
C# 毎月1日の曜日について
-
入力した日は何曜日か
-
指定した日付から曜日を求める。
-
C言語での万年カレンダーのソー...
-
土曜日の26時って何曜日の何時...
-
先日、『カシオ エディフィス ...
-
平日朝の国道246線混雑状況につ...
-
曜日を求めるプログラムはどう...
-
for a week tomorrowはどういう...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
月の第一週とは
-
よくある 『 第○(1・2・3・4・...
-
エクセルで毎月第2週日の水曜日...
-
毎○曜日って、使いますか?
-
燃えるゴミの日は何曜日ですか?
-
週2回のペースって だいたい何...
-
土曜日の26時って何曜日の何時...
-
[Excel] ある日の曜日が当月の"...
-
6月の第2 第4火曜日は何日...
-
週休3日制で土日の他にもう一日...
-
VBA。複数のChangeイベントをま...
-
Excelで第一〇曜日を求める方法...
-
ユーザー定義の(aaa)
-
c言語の質問です。 ある月のカ...
-
一年の第何週目であるかを判断...
-
今週とは何曜日から何曜日まで...
-
日本語問題 昨日は何曜日ですか...
-
指定曜日にMsgBox表示は可能で...
-
Consolidateメソッドの引数のSo...
-
Excel VBA 第〇△曜日の場合休日...
おすすめ情報