如何将DateTime数据类型与超级分类编辑器中的当前日期进行比较?
是否有可用的内置功能?
答案 0 :(得分:3)
// get a date object
var now = new Date();
DateTime通常定义如下。
YYYY-MM-DDTHH:MM:SS
比较Javascript中日期的最简单方法是首先将DateTime值转换为Date对象,然后比较这些日期对象。
你可以使用
dates.compare(a,b) // where a and b are date objects
或
var dateString = "2050-01-02T11:42Z"; //DateTime
var myDate = new Date(dateString);
var now = new Date();
if (now < myDate) {
document.write('myDate is in the future');
}
else
{
document.write('myDate is NOT in the future');
}
或看到这里
Compare two dates with JavaScript
显然,在事务处理器中执行new Date()
并不合适,因为它被部署到运行时区块链,并且知道在被认可/执行后对其进行评估的时间是任何人的猜测。
答案 1 :(得分:1)
是。鉴于原始答案的原则仍然存在 - 这是如何将其作为参数传递的示例。
var now = new Date();
now.setMinutes(10); //将日期设置为您要查询的时间(示例)
var q1 = businessNetworkConnection.buildQuery(&#39; SELECT org.hyperledger.composer.system.HistorianRecord&#39; + &#39; WHERE(transactionTimestamp&gt; _ $ justnow)&#39;);
return businessNetworkConnection.query(q1,{justnow:now});
日期时间字符串可以采用简化的ISO 8601格式。例如,&#34; 2016-10-10&#34; (仅限日期)或&#34; 2017-10-10T14:48:00&#34; (日期和时间)可以传递并与Composer DateTime字段进行比较。
另见 - https://hyperledger.github.io/composer/business-network/query.html