github.com/goreleaser/nfpm/v2@v2.44.0/internal/modtime/mtime.go (about)

     1  package modtime
     2  
     3  import (
     4  	"os"
     5  	"strconv"
     6  	"time"
     7  )
     8  
     9  func FromEnv() time.Time {
    10  	epoch := os.Getenv("SOURCE_DATE_EPOCH")
    11  	if epoch == "" {
    12  		return time.Time{}
    13  	}
    14  	sde, err := strconv.ParseInt(epoch, 10, 64)
    15  	if err != nil {
    16  		return time.Time{}
    17  	}
    18  	return time.Unix(sde, 0).UTC()
    19  }
    20  
    21  func Get(times ...time.Time) time.Time {
    22  	for _, t := range times {
    23  		if !t.IsZero() {
    24  			return t
    25  		}
    26  	}
    27  	return time.Now()
    28  }