code.gitea.io/gitea@v1.22.3/modules/timeutil/timestampnano.go (about)

     1  // Copyright 2017 The Gitea Authors. All rights reserved.
     2  // SPDX-License-Identifier: MIT
     3  
     4  package timeutil
     5  
     6  import (
     7  	"time"
     8  
     9  	"code.gitea.io/gitea/modules/setting"
    10  )
    11  
    12  // TimeStampNano is for nano time in database, do not use it unless there is a real requirement.
    13  type TimeStampNano int64
    14  
    15  // TimeStampNanoNow returns now nano int64
    16  func TimeStampNanoNow() TimeStampNano {
    17  	return TimeStampNano(time.Now().UnixNano())
    18  }
    19  
    20  // AsTime convert timestamp as time.Time in Local locale
    21  func (tsn TimeStampNano) AsTime() (tm time.Time) {
    22  	return tsn.AsTimeInLocation(setting.DefaultUILocation)
    23  }
    24  
    25  // AsTimeInLocation convert timestamp as time.Time in Local locale
    26  func (tsn TimeStampNano) AsTimeInLocation(loc *time.Location) time.Time {
    27  	return time.Unix(0, int64(tsn)).In(loc)
    28  }