質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Perl

Perlは多目的に使用される実用性が高い動的プログラミング言語のひとつです。

Q&A

解決済

2回答

729閲覧

「perl」時間範囲指定してのIF文を作成したい

naripon

総合スコア5

Perl

Perlは多目的に使用される実用性が高い動的プログラミング言語のひとつです。

0グッド

0クリップ

投稿2020/04/06 06:26

編集2020/04/06 06:47

前提・実現したいこと

今が日本時間で4時から5時半の間であるときに、Aを実行したい。
(たぶんcronで定期的にファイルを実行しているからです)

Aというのは、もう既にあるif文である
if{今が日本時間で4時から5時半であるとき{if A}}の様な形にしたい

発生している問題・エラーメッセージ

該当のソースコード

試したこと

JSTをGMTに変換
システム時間をGMTに変換
etc...

補足情報(FW/ツールのバージョンなど)

3時間ググったりパイザで試行錯誤しましたが、いまいち進まず手がかりでも欲しいといった状況です。
情報不足や質問の意図がわからないなどありましたら申し訳ありません。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

以下のようにしてください。

Perl

1($sec,$min,$hour,$day,$month,$year) = localtime(); 2# 0時からの通算秒を計算 3$serial_sec = $sec + $min * 60 + $hour * 60 * 60; 4# 4時の通算秒を算出 5$low = 4 * 60 * 60; 6# 5時半の通算秒を算出 7$high = 5 * 60 * 60 + 30 * 60; 8 9if ($serial_sec >= $low && $serial_sec <= $high){ 10 処理A; 11} 12

投稿2020/04/06 08:08

tatsu99

総合スコア5438

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

naripon

2020/04/06 09:32

ご助力ありがとうございました! おかげ様で今日中に仕事を片付けられました!
guest

0

Time::Pieceを使えば時間データの演算ができます。

#!/usr/bin/env perl use strict; use warnings; use Time::Piece; use utf8; binmode STDOUT, ':utf8'; my $a = new Time::Piece->strptime('2020-04-06 15:40:00', '%Y-%m-%d %H:%M:%S'); my $b = new Time::Piece->strptime('2020-04-06 15:45:00', '%Y-%m-%d %H:%M:%S'); my $diff = $a-$b; # Time::Pieceオブジェクト同士の計算ができる if($diff>0){ printf("aはbより %d 秒遅い\n", ($a-$b)->seconds); }elsif($diff==0){ printf("$a and $b is same\n"); }else{ printf("aはbより %d 秒早い\n", ($b-$a)->seconds); } my $l = localtime; # 現在時刻はlocaltimeでTime::Pieceオブジェクトとして取得できる。 if($l>$a){ print "現在時刻はaより遅い\n"; }

投稿2020/04/06 07:05

KojiDoi

総合スコア13671

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

naripon

2020/04/06 09:31

ご助力ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問