首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >试图在将文档添加到云之前获得服务器时间戳(Firestore)

试图在将文档添加到云之前获得服务器时间戳(Firestore)
EN

Stack Overflow用户
提问于 2022-05-24 20:54:01
回答 1查看 121关注 0票数 1

尝试在将文档添加到云中之前在CreatedAt文档字段获取服务器时间戳。因此,它可以应用于Time属性,也可以保存在本地,但是我得到的是:

我的ChatTestMessageGroup模型

代码语言:javascript
复制
public class ChatTestMessageGroup : TimeTest
{
    public long MessageId { get; set; }
    public string Message { get; set; }
    public string Time { get; set; }
}

public class TimeTest
{
    [ServerTimestamp]
    public Timestamp CreatedAt { get; set; }
    public Timestamp StampAt { get; set; }
}

发送消息执行代码

代码语言:javascript
复制
private async Task SendTestMessageAsync()
{
    if (string.IsNullOrWhiteSpace(Message)) return;

    // under testing.
    var test = new ChatTestMessageGroup()
    {
        MessageId = new Timestamp().ToDateTime().Ticks,
        Message = Message.Trim(),
    };
    test.Time = $"{test.CreatedAt.ToDateTime():HH:mm}";
    await CloudService.CS.SendMessageAsync(test);
    Message = "";
}

写入云代码

代码语言:javascript
复制
public async Task SendMessageAsync(ChatTestMessageGroup testMessage)
{
    IDocumentReference doc = CrossCloudFirestore.Current.Instance.Collection("Testing").Document(DateTime.Now.Day.ToString());
        
    await doc.Collection("Tester").Document(${testMessage.CreatedAt.Seconds}").SetAsync(testMessage);
}

我使用的插件Plugin.CloudFirestore

EN

回答 1

Stack Overflow用户

发布于 2022-05-24 21:37:17

尝试在将文档添加到云中之前在CreatedAt文档字段获取服务器时间戳。

这是不可能的创建文档时,服务器就会占用时间。客户端应用程序无法确定服务器上的时间,因为它自己的时钟可能是错误的。您只能获得通过读取文档而编写的时间戳。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72369350

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档