package main
import (
"fmt"
"time"
)
func main(){
type structdesu struct {
A string
}
m := map[string][]structdesu{}
i, ok := m["nothing"]
fmt.Println("m[\"nothing\"]", i, ok)
m["nothing"] = append(m["nothing"], structdesu{A: "ahaha"})
fmt.Println("m[\"nothing\"]", m["nothing"])
i = append(i, structdesu{A: "uhoho"})
fmt.Println("i", i)
a := []int{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
var b []int
windowSize := 2
for i, e := 0, true; e; i++ {
if windowSize < len(a) - windowSize * i {
b = a[windowSize * i:windowSize * (i + 1)]
} else {
b = a[windowSize * i:]
e = false
}
fmt.Println("b:", b)
}
jst
:= time.
FixedZone("Asia/Tokyo", 9*60*60)
fmt.
Println(time.
Date(2261, time.
December, 30, 23, 59, 59, 0, time.
UTC).
UnixNano())
fmt.
Println("Format RFC3339Nano", time.
Unix(0, 1622770390000000000).
In(jst
).
Format(time.
RFC3339Nano))
rfcTestTime
, err
:= time.
Parse(time.
RFC3339Nano, "2022-09-19T17:10:33.403859986+09:00") fmt.Println("Parse RFC3339Nano 2022-09-19T17:10:33.403859986+09:00: ", rfcTestTime.UnixNano(), err)
rfcTestTimeEmpty
, err
:= time.
Parse(time.
RFC3339Nano, "") fmt.Println("Parse RFC3339Nano empty: ", rfcTestTimeEmpty, err)
fmt.
Println("now", time.
Now().
UnixNano()) fmt.
Println("2261", time.
Date(2261, time.
December, 31, 23, 59, 59, 0, time.
UTC).
UnixNano()) fmt.
Println("aaaa", time.
Unix(0, 9214646399000000000).
In(jst
))
t
, _
:= time.
Parse("2006-01-02", "2022-04-01") fmt.Println(t.In(jst))
fmt.
Println("startDate 2024/11/01", time.
Date(2024, time.
Month(11), 1, 0, 0, 0, 0, jst
).
UnixNano()) fmt.
Println("endDate 2023/08/24", time.
Date(2023, time.
Month(8), 24, 23, 59, 59, 999999999, jst
).
UnixNano()) fmt.
Println("endDate 2023/09/15(ms)", time.
Date(2023, time.
Month(9), 15, 23, 59, 59, 990000000, jst
).
UnixNano())
startOfApril
:= time.
Date(2022, time.
Month(4), 1, 0, 0, 0, 0, jst
) endOfApril
:= time.
Date(2022, time.
Month(4), 30, 23, 59, 59, 999999999, jst
)
fmt.Println("4/1", startOfApril)
fmt.Println("4/30", endOfApril)
fmt.Println(endOfApril.Day() - startOfApril.Day() + 1)
closingDate
:= time.
Date(2022, time.
Month(4), 20, 23, 59, 59, 999999999, jst
)
fmt.Println(closingDate.AddDate(0, 0, -(31 - 1)))
fmt.Println(0 / 31)
}
cGFja2FnZSBtYWluCmltcG9ydCAoCgkiZm10IgoJInRpbWUiCikKCmZ1bmMgbWFpbigpewoJdHlwZSBzdHJ1Y3RkZXN1IHN0cnVjdCB7CgkJQSBzdHJpbmcKCX0KCW0gOj0gbWFwW3N0cmluZ11bXXN0cnVjdGRlc3V7fQoJaSwgb2sgOj0gbVsibm90aGluZyJdCglmbXQuUHJpbnRsbigibVtcIm5vdGhpbmdcIl0iLCBpLCBvaykKCW1bIm5vdGhpbmciXSA9IGFwcGVuZChtWyJub3RoaW5nIl0sIHN0cnVjdGRlc3V7QTogImFoYWhhIn0pCglmbXQuUHJpbnRsbigibVtcIm5vdGhpbmdcIl0iLCBtWyJub3RoaW5nIl0pCgoJaSA9IGFwcGVuZChpLCBzdHJ1Y3RkZXN1e0E6ICJ1aG9obyJ9KQoJZm10LlByaW50bG4oImkiLCBpKQoKCWEgOj0gW11pbnR7MCwgMSwgMiwgMywgNCwgNSwgNiwgNywgOCwgOSwgMTB9Cgl2YXIgYiBbXWludAoJd2luZG93U2l6ZSA6PSAyCgkKCWZvciBpLCBlIDo9IDAsIHRydWU7IGU7IGkrKyB7CgkJaWYgd2luZG93U2l6ZSA8IGxlbihhKSAtIHdpbmRvd1NpemUgKiBpIHsKCQkJYiA9IGFbd2luZG93U2l6ZSAqIGk6d2luZG93U2l6ZSAqIChpICsgMSldCgkJfSBlbHNlIHsKCQkJYiA9IGFbd2luZG93U2l6ZSAqIGk6XQoJCQllID0gZmFsc2UKCQl9CgkJCgkJZm10LlByaW50bG4oImI6IiwgYikKCX0KCQoJCglqc3QgOj0gdGltZS5GaXhlZFpvbmUoIkFzaWEvVG9reW8iLCA5KjYwKjYwKQoJCglmbXQuUHJpbnRsbih0aW1lLkRhdGUoMjI2MSwgdGltZS5EZWNlbWJlciwgMzAsIDIzLCA1OSwgNTksIDAsIHRpbWUuVVRDKS5Vbml4TmFubygpKQoKICAgIGZtdC5QcmludGxuKCJGb3JtYXQgUkZDMzMzOU5hbm8iLCB0aW1lLlVuaXgoMCwgMTYyMjc3MDM5MDAwMDAwMDAwMCkuSW4oanN0KS5Gb3JtYXQodGltZS5SRkMzMzM5TmFubykpCgogICAgcmZjVGVzdFRpbWUsIGVyciA6PSB0aW1lLlBhcnNlKHRpbWUuUkZDMzMzOU5hbm8sICIyMDIyLTA5LTE5VDE3OjEwOjMzLjQwMzg1OTk4NiswOTowMCIpCiAgICBmbXQuUHJpbnRsbigiUGFyc2UgUkZDMzMzOU5hbm8gMjAyMi0wOS0xOVQxNzoxMDozMy40MDM4NTk5ODYrMDk6MDA6ICIsIHJmY1Rlc3RUaW1lLlVuaXhOYW5vKCksIGVycikKICAgIAogICAgcmZjVGVzdFRpbWVFbXB0eSwgZXJyIDo9IHRpbWUuUGFyc2UodGltZS5SRkMzMzM5TmFubywgIiIpCiAgICBmbXQuUHJpbnRsbigiUGFyc2UgUkZDMzMzOU5hbm8gZW1wdHk6ICIsIHJmY1Rlc3RUaW1lRW1wdHksIGVycikKCglmbXQuUHJpbnRsbigibm93IiwgdGltZS5Ob3coKS5Vbml4TmFubygpKQoJZm10LlByaW50bG4oIjIyNjEiLCB0aW1lLkRhdGUoMjI2MSwgdGltZS5EZWNlbWJlciwgMzEsIDIzLCA1OSwgNTksIDAsIHRpbWUuVVRDKS5Vbml4TmFubygpKQoJZm10LlByaW50bG4oImFhYWEiLCB0aW1lLlVuaXgoMCwgOTIxNDY0NjM5OTAwMDAwMDAwMCkuSW4oanN0KSkKCQoJdCwgXyA6PSB0aW1lLlBhcnNlKCIyMDA2LTAxLTAyIiwgIjIwMjItMDQtMDEiKQoJZm10LlByaW50bG4odC5Jbihqc3QpKQoJZm10LlByaW50bG4oInN0YXJ0RGF0ZSAyMDI0LzExLzAxIiwgdGltZS5EYXRlKDIwMjQsIHRpbWUuTW9udGgoMTEpLCAxLCAwLCAwLCAwLCAwLCBqc3QpLlVuaXhOYW5vKCkpCglmbXQuUHJpbnRsbigiZW5kRGF0ZSAyMDIzLzA4LzI0IiwgdGltZS5EYXRlKDIwMjMsIHRpbWUuTW9udGgoOCksIDI0LCAyMywgNTksIDU5LCA5OTk5OTk5OTksIGpzdCkuVW5peE5hbm8oKSkKCWZtdC5QcmludGxuKCJlbmREYXRlIDIwMjMvMDkvMTUobXMpIiwgdGltZS5EYXRlKDIwMjMsIHRpbWUuTW9udGgoOSksIDE1LCAyMywgNTksIDU5LCA5OTAwMDAwMDAsIGpzdCkuVW5peE5hbm8oKSkKCglzdGFydE9mQXByaWwgOj0gdGltZS5EYXRlKDIwMjIsIHRpbWUuTW9udGgoNCksIDEsIDAsIDAsIDAsIDAsIGpzdCkKCWVuZE9mQXByaWwgOj0gdGltZS5EYXRlKDIwMjIsIHRpbWUuTW9udGgoNCksIDMwLCAyMywgNTksIDU5LCA5OTk5OTk5OTksIGpzdCkKCglmbXQuUHJpbnRsbigiNC8xIiwgc3RhcnRPZkFwcmlsKQkKCWZtdC5QcmludGxuKCI0LzMwIiwgZW5kT2ZBcHJpbCkKCWZtdC5QcmludGxuKGVuZE9mQXByaWwuRGF5KCkgLSBzdGFydE9mQXByaWwuRGF5KCkgKyAxKQoJCgljbG9zaW5nRGF0ZSA6PSB0aW1lLkRhdGUoMjAyMiwgdGltZS5Nb250aCg0KSwgMjAsIDIzLCA1OSwgNTksIDk5OTk5OTk5OSwganN0KQoJCglmbXQuUHJpbnRsbihjbG9zaW5nRGF0ZS5BZGREYXRlKDAsIDAsIC0oMzEgLSAxKSkpCgkKCWZtdC5QcmludGxuKDAgLyAzMSkKfQ==