周日到周五允许 运行 吗?

Allow to run from Sunday to Friday?

以下 PHP 代码允许进程仅在特定时间之间 运行。这在 GoLang 中是如何完成的?

$curdate = date('Y-m-d');
$mydate=getdate(strtotime($curdate));
if ( $mydate['wday'] === 0 ) {
  if ( date('H') < 15 ) { exit; }; // This is for 0 Sunday!!!
}
if ( $mydate['wday'] === 5 ) {
  if ( date('H') > 19 ) { exit; }; // This is for 5 Friday!!!
}
if ( $mydate['wday'] === 6 ) {
  exit;  // This is for 6 Saturday //
}

这应该做同样的事情:

now := time.Now()
day := now.Weekday()
hr  := now.Hour()

if day == 0 {
    if hr < 15 { os.Exit(0) }
} 
if day == 5 {
    if hr > 19 { os.Exit(0) }
}
if day == 6 {
    os.Exit(0)
}

同样,每一天都可以用一个整数 (0 - 6) 表示。

请注意,要使用 timeos,您需要调用

import "time"
import "os"

有关 Golang 时间的更多信息,请参阅 the documentation

不要将 PHP 代码写成 Go 代码。编写 Go 代码。例如,

package main

import (
    "os"
    "time"
)

func main() {
    now := time.Now()
    hour := now.Hour()
    switch now.Weekday() {
    case time.Sunday:
        if hour < 15 {
            os.Exit(0)
        }
    case time.Friday:
        if hour > 19 {
            os.Exit(0)
        }
    case time.Saturday:
        os.Exit(0)
    }
    // Do Something
}