我从这里和这里得到了不同的答案
我刚刚开始学习云任务
。在那篇博文中,道格说:“我想要的是expirationAtSeconds是以秒表示的过期时间。”。
我希望任务在设置时间后删除帖子。在我的iOS应用程序中,我创建了一个在特定时间过期的帖子:
let timeStamp = Date().timeIntervalSince1970
let postDate: Date = Date(timeIntervalSince1970: timeStamp)
var expirationDate: Date? = Calendar.current.date(byAdding: .hour, value: +24, to: postDate)
guard let exp = expirationDate else { return }
let expiresAt = exp.timeIntervalSince1970
dict.updateValue(expiresAt, forKey: "expiresAt")
dict.updateValue(timeStamp, forKey: "postDate")
// other values ...
ref.updateChildValues(dict)
它给我一个数据库值,比如:
posts
some_post_Id
-"expiresAt": 1632627680.340107
// other values ...
在我的云函数中,我希望expiresAt日期是一个Double
,以Epoch
秒表示。我不确定是否应该使用expDate1、expDate2、expDate3或expDate4:
exports.onCreatePost = functions.database.ref('/posts/{postId}').onCreate((snapshot, context) => {
const post = snapshot.data();
const expiresAt = snapshot.child("expiresAt").val();
const expirationDate = expiresAt.valueOf(); // 1632627680.340107
var expDate1 = DateTime.fromMillisecondsSinceEpoch(expirationDate * 1000)
var expDate2 = DateTime.fromMicrosecondsSinceEpoch(expirationDate * 1000000)
var expDate3 = DateTime.fromMicrosecondsSinceEpoch(expirationDate.microsecondsSinceEpoch)
var expDate4 = expirationDate.toDate()
const expirationAtSeconds = either expDate1, expDate2, expDate3, or expDate4
// continue on with the rest of the code ...
});
从我的问题来看,上面的DateTime
方法对我都不起作用,因为我一直收到一个错误TypeError:cannotread属性“DateTime”的undefined。
我必须使用new Date(expirationDate*1000)
,我从这里得到了转换为纪元秒
代码:
const functions = require("firebase-functions");
const admin = require('firebase-admin');
admin.initializeApp();
exports.onCreatePost = functions.database.ref('/posts/{postId}').onCreate((snapshot, context) => {
const post = snapshot.data();
const expiresAt = snapshot.child("expiresAt").val();
const expirationDate = expiresAt.valueOf(); // 1632627680.340107
const expDate = new Date(expirationDate * 1000); // <--------Here
const expirationAtSeconds = expDate.getTime()/1000.0; // <-------- this will be epoch seconds conversion
console.log("expDate: " + expDate + " | expirationAtSeconds:" + expirationAtSeconds);
// continue on with the rest of the code ...
});
本文向大家介绍将博客迁移至docker纪实,包括了将博客迁移至docker纪实的使用技巧和注意事项,需要的朋友参考一下 由于五一前的这周工作需求不是很多,便趁着这个机会将博客迁移到了docker中,虽说网上docker相关文章有很多,第一次实践的我还是遇到了一些小问题,现在便来总结一下。 在这里我要推荐的是docker_practice(本站地址),有中英文版本,很多细节知识都有讲到,非常适合入门
问题内容: 我一直在寻找一种将字符串(以纪元时间)转换为日期的方法。 基本上,我需要使用this:(以字符串形式)并将其放入this:中。 我一直在看strptime和strftime,但似乎都没有为我工作。有什么建议么? 编辑:谢谢,伙计们。我将其转换为int ,将其转换为,然后在其上运行。完美地工作! 问题答案: 如果只有该值是整数而不是字符串,则可以调用。如果只有某种方法可以将字符串转换为整
问题内容: 我有一个包含UNIX Epoch time的字符串,我需要将其转换为Java Date对象。 标记的行是我遇到麻烦的地方。我无法计算出SimpleDateFormat()的参数是什么,甚至无法使用SimpleDateFormat()。 问题答案: 怎么样: 编辑:根据rde6173的答案,并仔细查看问题中指定的输入,“ 1081157732”似乎是基于秒的纪元值,因此你想将parseL
我的问题是,我也希望以这样的格式存储出生日期。现在,我可以将01-01-1900作为开始日期,并将自该日期以来的天数存储在int中。虽然我很肯定这会很好,但感觉像是epoch是一个很好的概念,但生日的感觉像是我在建立自己的惯例,这是我通常喜欢避免的。 对于将日期存储标准化为一个数字,是否有任何既定的标准?哪一个日期应该是比较基准日期?
上下文是,我们的产品中有一个现有的应用程序,它生成并向现有的oracle过程发送纪元号&反之亦然。它在该过程中使用如下内容 当我尝试这些查询时,它对我也适用于Oracle10g服务器(如果有关系的话,还有Oracle sql Developer4.x)。 在现有的过程中,要求将值保存为日期本身(时间组件与日期无关),但是在新的要求中,我必须将unix EPOCH值转换为日期时间(小时/分钟/秒级别