github.com/selefra/selefra-utils@v0.0.4/pkg/pointer/time_time.go (about)

     1  package pointer
     2  
     3  import "time"
     4  
     5  func NowTimePointer() *time.Time {
     6  	f := time.Now()
     7  	return &f
     8  }
     9  
    10  func ToTimePointer(t time.Time) *time.Time {
    11  	if t.IsZero() {
    12  		return nil
    13  	}
    14  	return &t
    15  }
    16  
    17  func FromTimePointer(t *time.Time) time.Time {
    18  	return FromTimePointerOrDefault(t, time.Time{})
    19  }
    20  
    21  func FromTimePointerOrDefault(t *time.Time, defaultValue time.Time) time.Time {
    22  	if t == nil {
    23  		return defaultValue
    24  	}
    25  	return *t
    26  }