@Matt_Dale thanks again for your hint.
Now, when I try to Unmarshal this bson value back into my FcsDate, I’m struggling again. I tried following:
func (v *FcsDate) UnmarshalBSONValue(t bsontype.Type, b []byte) (err error) {
log.Printf("UnmarshalBSONValue: %v, %v", t, b)
ts := int64(binary.BigEndian.Uint64(b))
// ts is in nanoseconds, so we convert it to seconds
*v = FcsDate(time.Unix(ts/1000/1000/1000, (ts%1000)*1000000).UTC())
log.Printf("FcsSate is: %v", *v)
return nil
}
This returns a date, but it’s wrong. For example it returns “1970-06-06T09:59:31.880Z” instead of “1997-05-23T00:00:00.000+00:00”.
Do you have any advise?
Regards
Meinrad