instruction: Explain go by example: time
output: Go by Example
  : Time
  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 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.
  Next example:
  Epoch
  .
  by
  Mark McGranaghan
  and
  Eli Bendersky
  |
  source
  |
  license