このラボは、Go の時間と期間のサポートについての理解をテストすることを目的としています。
以下のコードには、Go で時間と期間を操作する方法の例が含まれています。ただし、コードの一部が欠落しています。あなたの仕事は、コードを完成させて期待通りに動作させることです。
$ go run time.go 2012-10-31 15:50:13.793654 0000 UTC 2009-11-17 20:34:58.651387237 0000 UTC 2009 November 17 20 34 58 651387237 UTC Tuesday true false false 25891h15m15.142266763s 25891.25420618521 1.5534752523711128e 06 9.320851514226677e 07 93208515142266763 2012-10-31 15:50:13.793654 0000 UTC 2006-12-05 01:19:43.509120474 0000 UTC # Next we'll look at the related idea of time relative to # the Unix epoch.
以下に完全なコードがあります:
// Go offers extensive support for times and durations; // here are some examples. package main import ( "fmt" "time" ) func main() { p := fmt.Println // We'll start by getting the current time. now := time.Now() p(now) // You can build a `time` struct by providing the // year, month, day, etc. Times are always associated // with a `Location`, i.e. time zone. then := time.Date( 2009, 11, 17, 20, 34, 58, 651387237, time.UTC) p(then) // You can extract the various components of the time // value as expected. p(then.Year()) p(then.Month()) p(then.Day()) p(then.Hour()) p(then.Minute()) p(then.Second()) p(then.Nanosecond()) p(then.Location()) // The Monday-Sunday `Weekday` is also available. p(then.Weekday()) // These methods compare two times, testing if the // first occurs before, after, or at the same time // as the second, respectively. p(then.Before(now)) p(then.After(now)) p(then.Equal(now)) // The `Sub` methods returns a `Duration` representing // the interval between two times. diff := now.Sub(then) p(diff) // We can compute the length of the duration in // various units. p(diff.Hours()) p(diff.Minutes()) p(diff.Seconds()) p(diff.Nanoseconds()) // You can use `Add` to advance a time by a given // duration, or with a `-` to move backwards by a // duration. p(then.Add(diff)) p(then.Add(-diff)) }
このラボでは、Go の時間と期間のサポートを使用して作業する能力をテストしました。時間値のさまざまな要素を抽出し、2 つの時間を比較し、継続時間の長さを計算し、指定された継続時間だけ時間を進める方法を学習しました。
?今すぐ練習: 移動時間と継続時間の探索
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3