首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取防火墙服务器时间戳上的简单日期?如何只得到约会而不是时间

获取防火墙服务器时间戳上的简单日期?如何只得到约会而不是时间
EN

Stack Overflow用户
提问于 2021-07-06 15:34:03
回答 2查看 382关注 0票数 0

为了保持一致性,我希望从Firestore服务器获取数据,而不是从设备中获取数据。Timestamp(Date()).toDate()July 6, 2021 at 9:23:34 PM UTC+0 (timestamp)的身份给出时间。但我只需要日期部分,比如'11-11-2021‘。是否有任何方法只保存日期部分与Firebase服务器时间戳?

代码:

代码语言:javascript
复制
val docData = hashMapOf(
            "stringExample" to "Hello world!",
            "dateExample" to Timestamp(Date()).toDate(),  //want only date part. Also is there alternative of using Date()?
            "nullExample" to null
        )

db.collection("data").document("one")
    .set(docData)
    .addOnSuccessListener { Log.d(TAG, "DocumentSnapshot successfully written!") }
    .addOnFailureListener { e -> Log.w(TAG, "Error writing document", e) }

希望这样做,因为最好不要剥夺某些用途的数据,如小型物联网设备。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-07-06 16:10:20

保存日期和时间的最适当方法是设置时间戳字段,正如我在下面代码中的回答中所解释的那样:

如果您试图将日期保存为字符串值'11-11-2021',那么您将无法对结果进行排序,因为当您订购字符串元素时,顺序是字典式的。此外,在存储方面,日期字段所占的空间将少于'11-11-2021‘。根据关于存储场尺寸计算的官方文件

日期字段值的大小为8字节,而字符串文本的值为UTF-8编码字节+ 1的数量。

所以我们有8个字节和11个字节。因此,您拥有的最佳选择是使用固定恢复时间戳将日期存储为FieldValue.serverTimestamp()

票数 1
EN

Stack Overflow用户

发布于 2021-07-06 15:48:10

firebase.firestore.Timestamp类中没有任何方法可以实现您想要的结果。但是,一旦日期被检索,您就可以格式化它们,如果您正在寻找一个快速的日期格式以供显示,那么.toDateString()可能是有用的。否则,您可以在防火墙文档上创建自己的属性,并手动分配添加文档时的日期。

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

https://stackoverflow.com/questions/68273439

复制
相关文章

相似问题

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