jjzjj

ruby - "which in ruby": Checking if program exists in $PATH from ruby

我的脚本严重依赖外部程序和脚本。我需要确定我需要调用的程序存在。手动地,我会在命令行中使用“which”来检查这一点。对于$PATH中的东西,是否有等同于File.exists?的东西?(是的,我想我可以解析%x[whichscriptINeedToRun]但这不是super优雅。谢谢!亚尼克更新:这是我保留的解决方案:defcommand?(command)system("which#{command}>/dev/null2>&1")end更新2:出现了一些新的答案-至少其中一些提供了更好的解决方案。更新3:ptoolsgem向File类添加了一个“which”方法。

ruby-on-rails - ruby /rails : converting a Date to a UNIX timestamp

我如何从Rails应用程序中的日期对象获取UNIX时间戳(自格林威治标准时间1970年以来的秒数)?我知道Time#to_i会返回一个时间戳,但是执行Date#to_time然后获取时间戳会导致大约一个月(不知道为什么。..).感谢任何帮助,谢谢!编辑:好的,我想我明白了——我在一个循环中多次处理一个日期,每次由于时区不匹配,日期都会稍微移动一点,最终导致我的时间戳延迟一个月.尽管如此,我还是很想知道是否有任何方法可以在不依赖Date#to_time的情况下执行此操作。 最佳答案 代码date.to_time.to_i应该可以正常工

ruby - 如何将 unix 时间戳(自纪元以来的秒数)转换为 Ruby DateTime?

如何将Unix时间戳(自纪元以来的秒数)转换为RubyDateTime? 最佳答案 抱歉,短暂的突触故障。这是真正的答案。require'date'Time.at(seconds_since_epoch_integer).to_datetime简要示例(这考虑了当前系统时区):$date+%s1318996912$irbruby-1.9.2-p180:001>require'date'=>trueruby-1.9.2-p180:002>Time.at(1318996912).to_datetime=>#进一步更新(针对UTC):ru

javascript - 从不同时间从毫秒到 Unix 时间戳的转换给出相同的结果

我有两个变量:tempTimeRequeststimeLastUpdateRequests两者都是从纪元开始以毫秒为单位给出的。我正面临来自js的奇怪行为:我得到的结果alert(tempTimeRequests+"\n"+timeLastUpdateRequests+"\n"+Date(tempTimeRequests)+"\n"+Date(timeLastUpdateRequests))是13690636650001369063651000MonMay20201317:27:51GMT+0200(CEST)MonMay20201317:27:51GMT+0200(CEST)如果第二

Javascript。比较 UNIX 时间戳

我有两个unix格式的时间戳,我需要找到一种方法来比较它们并找出哪个是最新的(最接近当前日期)。两个时间戳是:12999252461300526796有没有一种在Javascript中执行此操作的简单方法? 最佳答案 UNIXtime表示为自1970年1月1日00:00:00UTC以来经过的秒数。因此比较很简单:在您的示例中,第二个时间戳(1300526796)是最新的,因为1300526796(2011年3月19日,09:26:36UTC)大于1299925246(2011年3月12日,10:20:46UTC)。

javascript - 如何从 Javascript 中的 unix 时间戳获取人类可读的日期?

在我的javascript中,我有一个unix时间戳(在本例中为“1318305600000”),我需要通过Javascript将其转换为人类可读的日期。我该怎么做? 最佳答案 alert(newDate(1318305600000)) 关于javascript-如何从Javascript中的unix时间戳获取人类可读的日期?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/782

javascript - 将 ISO8601 日期转换为纪元格式(unix 时间戳)

如何使用javascript将ISO8601日期(例如20140107)转换为Unix时间戳(例如1389120125)? 最佳答案 如果您使用的是支持ECMAscript5的浏览器,Date.parse()接受ISO-8601日期字符串并返回一个以毫秒为单位的纪元值,因此只需将其除以1000即可。然而与您所说的相反,您的输入字符串不符合ISO-8601subsetdefinedinECMAscript因为它缺少各个字段之间的破折号。据我所知,破折号对于EMCAscript是强制性的(即使ISO8601本身允许无破折号或基本格式)。

javascript - 使用 Javascript 确定字符串格式是 "May 16, 2013"还是 UNIX 时间戳

对大型数据集进行一些数据整理。数据有一个“日期”字段,可以在“1370039735000”和“2013年5月16日”等格式之间随机切换。到目前为止,我已经使用转换了其他日期字段newDate("May16,2013")或newDate(NumberLong(1370039735000))如何使用正则表达式或其他方式区分两者?我使用的是MongoDB,但它都是Javascript。 最佳答案 如果它是一个unix时间戳,它只是数字,如果不是,它是一个实际的字符串(不是空的或bool值)并且javascript有一个函数,isNaNis

Javascript:如何将 n 分钟添加到 unix 时间戳

我有一个unix时间戳:1368435600。持续时间以分钟为单位:例如75。使用javascript我需要:将时间戳转换为字符串格式hours:mins(09:00)时间戳加上n分钟:时间戳+75分钟我尝试了moment.js库:end_time=moment(start_time).add('m',booking_service_duration);booking_service_duration是75,但增加了一个小时。我也宁愿不必使用另一个js库 最佳答案 要添加75分钟,只需乘以60得到秒数,并将其添加到时间戳:times

javascript - Moment.js unix 时间戳总是以分钟为单位显示时间

我正在使用Moment.js并想将unix时间戳转换为(始终)显示从当前时间开始的几分钟前。例如)4分钟前、30分钟前、94分钟前等。现在我正在使用:moment.unix(d).fromNow()但这并不总是以分钟为单位显示,例如)一小时前、一天前等。我试过使用.asMinutes()但我相信这只是带有moment.duration()的词。 最佳答案 不确定本地Moment方法是否可行,但您可以轻松制作自己的Moment扩展:moment.fn.minutesFromNow=function(){returnMath.floor