Голангский эквивалент strtotime («это воскресенье, 23:59:59») - PullRequest
0 голосов
/ 08 ноября 2018

Я пишу скребок, который удаляет предложения с веб-сайтов, и эти предложения имеют даты окончания. На одном таком сайте есть предложения, срок действия которых истекает каждое воскресенье. Я просмотрел документацию по времени golang, но до сих пор не понимаю, как это можно сделать, эквивалентность, которую я нашел в PHP, и довольно проста.

$endDate = strtotime('this Sunday, 23:59:59');

Есть ли способ Голанга сделать это?

1 Ответ

0 голосов
/ 08 ноября 2018

Напишите функцию в Go, используя стандартный пакет времени библиотеки Go . Например,

package main

import (
    "fmt"
    "time"
)

func endDate(t time.Time, wd time.Weekday) time.Time {
    next := int((wd - t.Weekday() + 7) % 7)
    y, m, d := t.Date()
    return time.Date(y, m, d+next+1, 0, 0, 0, -1, t.Location())
}

func main() {
    now := time.Now().Round(0)
    fmt.Println(now, now.Weekday())

    end := endDate(now, time.Sunday)
    fmt.Println(end, end.Weekday())
}

Детская площадка: https://play.golang.org/p/T0oZGRO9NV8

Выход:

2018-11-08 05:25:01.104445722 -0500 EST Thursday
2018-11-11 23:59:59.999999999 -0500 EST Sunday
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...