天道酬勤,学无止境

从现在开始如何计算 5 分钟?(How to count 5 minutes from now?)

问题

我需要在 Rust 中计算 5 分钟。 我以为我可以使用 time::now() 但它已被弃用。 我可以使用什么以及如何做到这一点?

回答1

如果您将鼠标悬停在文档中“已弃用”的注释上,您会看到它指向 rust-lang/time 存储库。 基本上,它从标准库中移到了自己的包中。

如果您按照文档中的指定添加对time箱的依赖,则此方法有效:

extern crate time;

use std::time::duration::Duration;

fn main() {
    let now = time::get_time();
    println!("now:   {}", now);
    let later = now + Duration::minutes(5);
    println!("later: {}", later);
}
标签

受限制的 HTML

  • 允许的HTML标签:<a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • 自动断行和分段。
  • 网页和电子邮件地址自动转换为链接。

相关推荐
  • 如何计算最近一秒,一分钟和一小时内的请求数(how to count number of requests in last second, minute and hour)
    问题 假设有一个Web服务器仅支持一个非常简单的API-在过去一小时,一分钟和一秒钟内收到的请求计数。 该服务器在世界上非常流行,每秒接收数千个请求。 目的是找到如何准确地将这三个计数返回给每个请求? 请求一直无时无刻不在,因此每个请求的一小时,一分钟和一秒钟的窗口是不同的。 如何为每个请求管理一个不同的窗口,以使每个请求的计数正确? 回答1 如果需要100%的精度: 具有所有请求和3个计数的链接列表-最后一小时,最后一分钟和最后一秒。 一分钟前和一秒钟前,您将在链接列表中有2个指针。 一个小时前将在列表末尾。 每当最后一个请求的时间比当前时间早一个小时以上时,请将其从列表中删除并减少小时数。 分钟指针和第二指针将分别指向在一分钟前和一秒之后发生的第一个请求。 每当请求时间超过当前时间的一分钟/秒时,请向上移动指针并减少分钟/秒的计数。 收到新请求时,将其添加到所有3个计数中,然后将其添加到链接列表的最前面。 请求计数将只涉及返回计数。 以上所有操作均按固定时间摊销。 如果可接受的精度低于100%: 以上内容的空间复杂度可能会有点高,这取决于您通常每秒收到的请求数量。 您可以通过稍微降低精度来减少这种情况,如下所示: 有一个如上所述的链表,但仅适用于最后一秒。 也有3个计数。 然后有一个由60个元素组成的圆形数组,用于指示最近60秒中每一个的计数。 每当经过一秒钟
  • 如何使用Joda-Time计算从现在开始经过的时间?(How to calculate elapsed time from now with Joda-Time?)
    问题 我需要计算从一个特定日期到现在为止所经过的时间,并以与StackOverflow问题相同的格式显示它,即: 15s ago 2min ago 2hours ago 2days ago 25th Dec 08 您知道如何使用Java Joda-Time库实现它吗? 是否有已经实现它的辅助方法,还是我应该自己编写算法? 回答1 要使用JodaTime计算经过的时间,请使用Period。 要以所需的人类表示形式格式化经过的时间,请使用PeriodFormatterBuilder可以构建的PeriodFormatter。 这是一个启动示例: DateTime myBirthDate = new DateTime(1978, 3, 26, 12, 35, 0, 0); DateTime now = new DateTime(); Period period = new Period(myBirthDate, now); PeriodFormatter formatter = new PeriodFormatterBuilder() .appendSeconds().appendSuffix(" seconds ago\n") .appendMinutes().appendSuffix(" minutes ago\n") .appendHours().appendSuffix("
  • 如何做30分钟倒计时(How to do a 30 minute count down timer)
    问题 我希望我的textbox1.Text倒计时 30 分钟。 到目前为止,我有这个: public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { Timer timeX = new Timer(); timeX.Interval = 1800000; timeX.Tick += new EventHandler(timeX_Tick); } void timeX_Tick(object sender, EventArgs e) { // what do i put here? } } 但是,我现在很难过。 我在谷歌上搜索了答案,但找不到与我的问题相符的答案。 回答1 如果您只想将 Texbox 的值设置为从 30 分钟开始倒计时。 您首先需要将计时器间隔更改为小于 30 分钟。 类似于timeX.Interval = 1000; 这将每秒触发一次。 然后像这样设置您的活动: int OrigTime = 1800; void timeX_Tick(object sender, EventArgs e) { OrigTime--; textBox1.Text =
  • 如何格式化从xxx开始的时间,例如“ 4分钟前”,类似于Stack Exchange网站(How to format time since xxx e.g. “4 minutes ago” similar to Stack Exchange sites)
    问题 问题是如何将JavaScript Date格式化为字符串,以说明经过的时间,类似于您看到Stack Overflow上显示的时间的方式。 例如 1分钟前 1小时前 1天前 1个月前 1年以前 回答1 function timeSince(date) { var seconds = Math.floor((new Date() - date) / 1000); var interval = seconds / 31536000; if (interval > 1) { return Math.floor(interval) + " years"; } interval = seconds / 2592000; if (interval > 1) { return Math.floor(interval) + " months"; } interval = seconds / 86400; if (interval > 1) { return Math.floor(interval) + " days"; } interval = seconds / 3600; if (interval > 1) { return Math.floor(interval) + " hours"; } interval = seconds / 60; if (interval > 1) {
  • PostgreSQL:“按分钟”运行查询的行数(PostgreSQL: running count of rows for a query 'by minute')
    问题 我需要查询每一分钟到该分钟为止的总行数。 到目前为止,我能取得的最好成绩并不能解决问题。 它返回每分钟的计数,而不是每分钟的总计数: SELECT COUNT(id) AS count , EXTRACT(hour from "when") AS hour , EXTRACT(minute from "when") AS minute FROM mytable GROUP BY hour, minute 回答1 仅返回活动的分钟数 最短的 SELECT DISTINCT date_trunc('minute', "when") AS minute , count(*) OVER (ORDER BY date_trunc('minute', "when")) AS running_ct FROM mytable ORDER BY 1; 使用date_trunc(),它将完全返回您需要的内容。 不包括id查询,因为你要GROUP BY分钟片。 count()通常用作纯聚合函数。 附加OVER子句使其成为窗口函数。 在窗口定义中省略PARTITION BY您希望对所有行进行运行计数。 默认情况下,从ORDER BY定义的值开始算起,从当前行的第一行到最后一行。 我引用该手册: 默认的成帧选项是“ RANGE UNBOUNDED PRECEDING ,与“ RANGE BETWEEN
  • 如何将秒转换为时间格式? [复制](How to convert seconds to time format? [duplicate])
    问题 这个问题已经在这里有了答案: 将秒转换为小时:分钟:秒(28个答案) 7年前关闭。 由于某种原因,我现在将时间格式转换为: 03:30 to seconds 3*3600 + 30*60, now : 03:30 to seconds 3*3600 + 30*60, now 。 我想将其转换回原来的第一个(相同)格式。 怎么会这样 我的尝试: 3*3600 + 30*60 = 12600 12600 / 60 = 210 / 60 = 3.5, floor(3.5) = 3 = hour 现在,几分钟呢? 考虑该值可以像19:00 or 02:51. 我想你知道了。 顺便说一句,如何2:0 for example to 02:00 using RegEx?将2:0 for example to 02:00 using RegEx?转换2:0 for example to 02:00 using RegEx? 回答1 $hours = floor($seconds / 3600); $mins = floor($seconds / 60 % 60); $secs = floor($seconds % 60); 如果要获取时间格式: $timeFormat = sprintf('%02d:%02d:%02d', $hours, $mins, $secs); 回答2 这可能更简单
  • date_trunc在PostgreSQL中间隔5分钟[重复](date_trunc 5 minute interval in PostgreSQL [duplicate])
    问题 这个问题已经在这里有了答案: 8年前关闭。 可能重复: 在Postgres中将时间戳截断为5分钟的最快方法是什么? Postgresql SQL GROUP BY时间间隔具有任意精度(低至毫秒) 我想在PostgreSQL中每隔5分钟汇总一次数据。 如果使用date_trunc()函数,则可以按每小时,每月,每天,每周等间隔来聚合数据,但不能像5分钟或5天这样的特定间隔进行聚合。 select date_trunc('hour', date1), count(*) from table1 group by 1; 我们如何在PostgreSQL中实现这一目标? 回答1 SELECT date_trunc('hour', date1) AS hour_stump , (extract(minute FROM date1)::int / 5) AS min5_slot , count(*) FROM table1 GROUP BY 1, 2 ORDER BY 1, 2; 您可以将“ GROUP BY分为两列:截断为小时的时间戳和5分钟的时隙。 该示例产生插槽0 - 11 。 如果您喜欢1 - 12加1 。 我将extract()的结果强制转换为整数,因此除法/ 5截断小数位。 结果: 分钟0-4->广告位0 5-9分钟->广告位1 等等。 该查询仅返回找到值的那5分钟时段的值。
  • 如何在PHP中获得以分钟为单位的时差(How to get time difference in minutes in PHP)
    问题 如何计算PHP中两个日期时间之间的分钟差? 回答1 从过去的一减去最近的一并除以60。 时间以Unix格式完成,因此它们只是一个很大的数字,它显示了January 1, 1970, 00:00:00 GMT 回答2 上面的答案适用于旧版本的PHP。 既然PHP 5.3已经成为标准,就可以使用DateTime类进行任何日期计算。 例如。 $start_date = new DateTime('2007-09-01 04:10:58'); $since_start = $start_date->diff(new DateTime('2012-09-11 10:25:00')); echo $since_start->days.' days total<br>'; echo $since_start->y.' years<br>'; echo $since_start->m.' months<br>'; echo $since_start->d.' days<br>'; echo $since_start->h.' hours<br>'; echo $since_start->i.' minutes<br>'; echo $since_start->s.' seconds<br>'; $ since_start是一个DateInterval对象。 请注意,days属性可用
  • 计算资源的可用性(Calculate availabilites of a resource)
    问题 我有一个应用程序显示一周的可预订时间段(资源)。 一个时间段总是 30 分钟长,可以从 :00 或 :30 开始。 可用性在内部由一周的分钟数(在数组中)表示, 0表示一周的第一分钟午夜和10079表示一周的最后一分钟。 这意味着具有 100% 可用性的资源在一个数组中有 10080 个数字,从 0 到 10079。 例如,以下表示本周第一天的 09:55-11:05 之间有 70 分钟可用时间: [595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665] 我将如何计算和显示任何可能的时间段(即至少连续 30 分钟)?
  • 如何使用Java计算时间跨度并格式化输出?(How can I calculate a time span in Java and format the output?)
    问题 我想花两次(从纪元以来以秒为单位),并以如下格式显示两者之间的差异: 2分钟 1小时15分钟 3小时9分钟 1分钟前 1小时2分钟前 我怎样才能做到这一点? 回答1 由于所有人都喊“ YOODAA !!!” 但没有人举一个具体的例子,这是我的贡献。 您也可以使用Joda-Time进行此操作。 使用期间来表示期间。 要以所需的人类表示形式格式化周期,请使用PeriodFormatterBuilder可以构建的PeriodFormatter。 这是一个启动示例: DateTime myBirthDate = new DateTime(1978, 3, 26, 12, 35, 0, 0); DateTime now = new DateTime(); Period period = new Period(myBirthDate, now); PeriodFormatter formatter = new PeriodFormatterBuilder() .appendYears().appendSuffix(" year, ", " years, ") .appendMonths().appendSuffix(" month, ", " months, ") .appendWeeks().appendSuffix(" week, ", " weeks, ") .appendDays
  • 给定时间内每5分钟的平均数据(Average of data for every 5 minutes in the given times)
    问题 我的MySQL有问题。 我需要两个特定时间之间来自MySQL的平均数据。 为此,我正在使用: select avg(Column) from Databasename.tablename where datetime BETWEEN '2012-09-08 00:00:00' AND '2012-09-08 15:30:00' 现在,我需要的是给定时间内每5分钟的平均数据。 通过使用此: select avg(Column) from Databasename.Tablename where datetime BETWEEN '2012-09-08 15:00:00' AND '2012-09-08 15:30:00' + 'INTERVAL 5minutes' 它没有显示任何错误,但显示NULL 。 如何在两个特定时间段内每5分钟获取一次数据? 回答1 分组到间隔 您应使用group by为要平均的每个间隔创建一个分组。 select avg(Column), convert((min(datetime) div 500)*500 + 230, datetime) as time from Databasename.tablename where datetime BETWEEN '2012-09-08 00:00:00' AND '2012-09-08 15:30:00'
  • .years和.months的真实时间跨度对象(A Real Timespan Object With .Years & .Months )
    问题 请考虑以下两种情况:情况1)。 今天是2012年5月1日,以及方案2)。 今天是2012年9月1日。 现在,考虑一下我们在网页上写了关于某人留下的评论的以下内容:“此评论是在3个月零12天前写的”。 即使陈述完全相同,在这两种情况下的天数总是会有所不同。 在方案1中,“ 3个月12天”等于102 days 。 但是,在方案2中,“ 3个月12天”将是104 days ! 现在,让我谈谈我的观点,让我们使用另一个示例,并说有人于2013年1月30日在我们的网站上发表了评论,今天是2013年3月10日。我们的真实TimeSpan对象需要知道这个相对日期,并且可以计算列出以下内容: 三月有十天, 一月有1天(从30日到31日)。 不管有多少天(即使是28天),2月都是一个月。 因此,这意味着总共10天+1天+1个月,翻译成This comment was posted 1 Month and 11 Days ago了This comment was posted 1 Month and 11 Days ago 。 现在,如果您使用MS样式的TimeSpan对象(或任何语言的任何TimeSpan对象),它将为您提供从1月30日到3月10日的天数(39天),并且因为TimeSpan对象不存储相对日期(我们减去的基本/初始日期以得出TimeSpan),如果您询问它已经过了多少个月和几天
  • 如何将日期字符串解析为c ++ 11 std :: chrono time_point或类似的字符串?(How to parse a date string into a c++11 std::chrono time_point or similar?)
    问题 考虑以下格式的历史日期字符串: Thu Jan 9 12:35:34 2014 我想将这样的字符串解析为某种C ++日期表示形式,然后计算自那时以来经过的时间。 从产生的持续时间中,我需要访问秒,分钟,小时和天数。 可以使用新的C ++ 11 std::chrono命名空间完成此操作吗? 如果没有,我今天该如何处理? 我正在使用g ++-4.8.1,尽管大概答案应该只是针对C ++ 11规范。 回答1 std::tm tm = {}; std::stringstream ss("Jan 9 2014 12:35:34"); ss >> std::get_time(&tm, "%b %d %Y %H:%M:%S"); auto tp = std::chrono::system_clock::from_time_t(std::mktime(&tm)); 版本5之前的GCC并未实现std::get_time 。 您还应该能够编写: std::tm tm = {}; strptime("Thu Jan 9 2014 12:35:34", "%a %b %d %Y %H:%M:%S", &tm); auto tp = std::chrono::system_clock::from_time_t(std::mktime(&tm)); 回答2 旧问题的新答案。 新答案的理由
  • 一个简单的JavaScript倒数计时器的代码?(Code for a simple JavaScript countdown timer?)
    问题 我想使用一个简单的倒数计时器,从运行该函数起30秒开始,到0结束。没有毫秒。 如何编码? 回答1 var count=30; var counter=setInterval(timer, 1000); //1000 will run it every 1 second function timer() { count=count-1; if (count <= 0) { clearInterval(counter); //counter ended, do something here return; } //Do code for showing the number of seconds here } 要使计时器的代码显示在一个段落中(或页面上的其他任何地方),只需将以下行放入: <span id="timer"></span> 您希望秒数出现的位置。 然后在您的timer()函数中插入以下行,因此如下所示: function timer() { count=count-1; if (count <= 0) { clearInterval(counter); return; } document.getElementById("timer").innerHTML=count + " secs"; // watch for spelling } 回答2
  • 自时间戳记起的天数、小时数、分钟数(Days, hours, minutes since timestamp)
    问题 所以我有这个函数,它显示从一个时间戳开始已经过去了多长时间。 现在,如果已经过了 60 分钟,它会过去并显示“1 小时前”。 如果已经是 24 小时,它会转到“1 天前”,依此类推。 如果已经过了 1 小时,我该怎么做,还要显示分钟? 像 Event occured 58 minutes ago 3 minutes later Event occured 1 hour 1 minute ago 26 hours later Event occured 1 day 2 hour ago function humanTiming($time) { $time = time() - $time; // to get the time since that moment $tokens = array ( 31536000 => 'year', 2592000 => 'month', 604800 => 'week', 86400 => 'day', 3600 => 'hour', 60 => 'minute', 1 => 'second' ); foreach ($tokens as $unit => $text) { if ($time < $unit) continue; $numberOfUnits = floor($time / $unit); return
  • 如何快速将分钟添加到当前时间(How to add minutes to current time in swift)
    问题 我是Swift的新手,正在尝试调度程序。 我已经选择了开始时间,我需要在开始时间上加上5分钟(或它的倍数)并将其显示在UILabel ? @IBAction func timePickerClicked(sender: UIDatePicker) { var dateFormatter = NSDateFormatter() dateFormatter.timeStyle = NSDateFormatterStyle.ShortStyle var dateStr = dateFormatter.stringFromDate(startTime.date) let sttime = dateStr startTimeDisplay.text = dateStr } // How to advance time by 5 minutes for each section based on the start time selected and display time // section 1 = start time + 5 // section 2 = start time + 10* 回答1 两种方法: 使用日历和日期(byAdding:to:wrappingComponents :)。 例如,在Swift 3及更高版本中: let calendar = Calendar
  • 如何获得自午夜以来经过的秒数(How to get seconds elapsed since midnight)
    问题 使用 PHP 如何获得自当天午夜以来经过的秒数? 我现在所尝试的是: $hour=substr(date("h:i:s"),0,2); $minute=substr(date("h:i:s"),3,2); echo $hour."\r\n"; echo $minute."\r\n"; ...但它没有返回响应的正确服务器时间,我不知道该怎么做。 回答1 这应该有效。 echo time() - strtotime("today"); 不过,这只会显示您的服务器时区。 回答2 最简单的我相信将当前时间(以秒为单位)除以一天中的秒数(60 * 60 * 24)并取余数: (time() % 86400) 回答3 如果您使用的是日期时间: $timeDiff = $time->diff(new \DateTime("today")); $timeDiffSec = $timeDiff->h* 3600 + $timeDiff->i*60 + $timeDiff->s; 回答4 echo (date('G') * 3600 + date('i') * 60); 将当前小时乘以每小时的秒数,然后将其添加到分钟数乘以每分钟的秒数。 回答5 我认为您想获取从一天开始到当前小时和秒的时间,可以这样做,您仍然需要将时区时间设置为“亚洲/卡拉奇”。
  • Python将来五分钟创建unix时间戳
    本文翻译自:Python Create unix timestamp five minutes in the future I have to create an "Expires" value 5 minutes in the future, but I have to supply it in UNIX Timestamp format. 我必须在未来5分钟创建一个“Expires”值,但我必须以UNIX Timestamp格式提供它。 I have this so far, but it seems like a hack. 到目前为止,我有这个,但它似乎是一个黑客。 def expires(): '''return a UNIX style timestamp representing 5 minutes from now''' epoch = datetime.datetime(1970, 1, 1) seconds_in_a_day = 60 * 60 * 24 five_minutes = datetime.timedelta(seconds=5*60) five_minutes_from_now = datetime.datetime.now() + five_minutes since_epoch = five_minutes_from_now - epoch
  • 是否可以将 cron 作业或 bash 脚本设置为从现在开始运行 X 分钟?(Is it possible to set a cron job or bash script to run X minutes from now?)
    问题 我知道我可以使用crontab -e通过添加以下行来设置 cron 作业每 5 分钟运行一次: */5 * * * * /path/to/script.sh 。 例如,是否可以使用date +"%M"以分钟为单位获取系统时间,然后将 cron 作业设置为在date +"%M"加上 5 分钟运行? 我知道我可以通过以下过程获得date +"%M" + 5: $ MIN=`date +"%M"` $ export MIN $ expr $MIN + 5 是否可以使用它来设置 cron 作业或脚本以在“当前时间以分钟为单位”加上“X 分钟”运行? 我可以想象这在用户创建新文档然后在创建文档 X 分钟后提示保存或命名文档的应用程序中很有用。 回答1 您应该改用at命令。 使用at ,您可以使用 time 甚至像midnight 、 teatime 、 tomorrow等关键字来指定命令应该运行的时间。 您可以像这样指定 5 分钟后的时间: at now + 5 min 然后输入要调度的命令。 或者,您可以在作业文件中输入计划作业,并使用-f选项将其作为at命令的参数。 作业文件示例: $ cat myjobs.txt /path/to/a/shell-script.sh /path/to/any/command/or/script.sh 以下命令将在 5 分钟后执行这些作业: $
  • 基于开始和结束时间的一天中最活跃的时间(most active time of day based on start and end time)
    问题 我正在记录我社区中玩家的统计数据。 对于他们的在线和游戏中的状态,我会在它们“开始”和“结束”时进行注册。 为了显示一天中最活跃的一天和一小时,我想使用一个 SQL 语句,它根据“开始”和“结束”日期时间值测量最活跃的时刻。 查看 SQL - 从 db 中选择最“活跃”的时间我可以看到相似之处,但我还需要包括开始时间和结束时间之间的时刻。 也许最简单的方法是编写一个进行计算的 cron,但我希望这个问题可以教我如何在 SQL 中解决这个问题。 我一直在寻找允许创建日期时间段并使用它来减去单个小时和天的 SQL 语句。 但无济于事。 - - 更新 当我对此进行更多思考时,我想知道基于一天中的每个小时(对于最活跃的时间)运行 24 次查询并为最活跃的一天运行几次查询是否明智。 但这似乎是在浪费性能。 但是此解决方案可能会使查询成为可能,例如: SELECT COUNT(`userID`), DATE_FORMAT("%H",started) AS starthour, DATE_FORMAT("%H",ended) AS endhour FROM gameactivity WHERE starthour >= $hour AND endhour <= $hour GROUP BY `userID` (添加 $hour 用于示例目的,当然我使用的是 PDO。列也仅用于示例目的