Перед чтением отметки времени вы должны установить ее на сервере, поскольку вы генерируете ее оттуда. Согласно this
serverTimestamp () Возвращает страж для использования с set () или update (), чтобы включить сгенерированную сервером метку времени в записанные данные.
, поэтому сначала установите его
Firestore.instance.collection('timestamp').document('docId').setData({'time' : FieldValue.serverTimestamp()});
, а затем получите его с помощью запроса basi c firestore. Наконец, проверьте этот ответ на детали почему.
Для более общего способа получения метки времени
getTimestamp() async{
await Firestore.instance.collection('timestamp').document('docId').setData({'time' : FieldValue.serverTimestamp()});
DocumentSnapshot doc = await Firestore.instance.collection('timestamp').document('docId').get();
Timestamp timestamp = doc['time'];
var timestampInMilliSeconds = timestamp.millisecondsSinceEpoch;
return timestampInMilliSeconds;
/* here you can call setState to your own variable before returning and keep in mind this method is async so it will return a Future. */
}