我有一个基于时间的rails查询,它有一些奇怪的时区敏感行为,即使据我所知我使用的是UTC.简而言之,这些查询给出了不同的答案:
>> Model.find(:all,:conditions=>['created_at<=?',(Time.now-1.hours).gmtime]).length
=> 279
>> Model.find(:all,:conditions=>['created_at<=?',(Time.now-1.hours)]).length
=> 280
Run Code Online (Sandbox Code Playgroud)
DB实际上确实包含在过去一小时内创建的一个模型,并且模型的总数为280.因此只有第一个查询是正确的.
但是,在environment.rb中我有:
config.time_zone = 'UTC'
Run Code Online (Sandbox Code Playgroud)
系统时区(由'日期'报告)是BST(GMT + 1) - 因此不知何故,这会被视为UTC并打破查询.
这引起了我各种各样的问题,因为我需要将在不同时间传递的查询参数化为一个动作(然后使用Time.parse()进行转换),即使我以UTC时间发送,这个'关闭一小时'DST问题很多.即使使用'.gmtime()'也似乎无法解决它.
显然,这种差异是由某个地方的隐式转换造成的,导致BST被错误地视为UTC,但为什么呢?rails是否以UTC格式存储时间戳?Time class timezone不是很清楚吗?我正在使用Rails 2.2.2
那么这里发生了什么 - 围绕它编程的安全方法是什么?
编辑,一些额外的信息来显示DB和Time类正在做什么:
>> Model.find(:last).created_at
=> Tue, 11 Aug 2009 20:31:07 UTC +00:00
>> Time.now
=> Tue Aug 11 22:00:18 +0100 2009
>> Time.now.gmtime
=> Tue Aug 11 21:00:22 UTC 2009
Run Code Online (Sandbox Code Playgroud) 我正在尝试调用另一个工作簿中的Excel宏.它是一个特定于表的宏,但Microsoft文档和Web上的研究给出的语法只提供了一种仅通过工作簿访问宏的方法.该语法是:
Application.Run ("testworkbook.xls!macroname")
Run Code Online (Sandbox Code Playgroud)
我需要做的是在那里有一个工作表参考,如:
Application.Run ("testworkbook.xls!Sheet1.macroname")
Run Code Online (Sandbox Code Playgroud)
我已经尝试过这个和许多其他变体,包括在那里有单引号或双引号,但我总是得到无法找到宏的消息.
编辑: 通过所有线索和大量测试,我找到了答案.您可以访问特定于Sheet的子,但必须使用像'Sheet1'这样的规范名称,您不能使用实际的工作表名称.显然其他工作簿不访问该信息.
因此,只要您不尝试使用工作表名称,上述格式就可以工作(您可能必须单引用工作簿名称(通过连接CHR(39)到任一端).
我正在使用Application.Ontime事件从单元格中提取时间字段,并安排子程序在此时运行.我的Application.Ontime事件在Workbook_BeforeSave事件上运行.因此,如果用户(更改所需时间+保存工作簿)多次,则会创建多个Application.Ontime事件.从理论上讲,我可以使用唯一的时间变量跟踪每个事件..但有没有办法检查/解析/取消待处理事件?
Private Sub Workbook_BeforeSave
SendTime = Sheets("Email").Range("B9")
Application.OnTime SendTime, "SendEmail"
End Sub
Private Sub Workbook_BeforeClose
Application.OnTime SendTime, "SendEmail", , False
End Sub
Run Code Online (Sandbox Code Playgroud)
因此,如果我:
将B9更改为12:01,将工作簿
更改为B9保存到12:03,将工作簿
更改B9保存到12:05,将工作簿
更改B9保存到12:07,保存工作簿
等
我最终解雇了多个事件.我只想要一场比赛(最近一场比赛)
如何在Workbook_BeforeClose事件中取消所有挂起事件(或至少枚举它们)?
我有一个增强现实的应用程序,我已经存储了相应的纬度和经度,如地铁,加油站,名胜古迹等信息.
现在,根据设备的方向,我会在设备的摄像机视图中显示每个站点的标记.与Layar和Wikitude相似.
它需要三天不停地搜索,并没有找到任何人解释如何解决这个问题.
我有一个Workbook_Open事件宏(并且它在ThisWorkbook中)并不总是运行.
我已将安全性设置为中等,并且只要它打开就会启用宏.
每当我打开它时,我需要做什么才能让宏运行,而不仅仅是第一次进行此Excel会话?
(顺便说一句,这是Excel 2003)
我正在开发一个基本上通过shell脚本使用"sox"创建文件的项目.该应用程序不是基于文档的,它所做的只是调用创建文件的脚本,而不是在内部保存任何数据.但是,我需要提示用户保存文件的位置,以及在运行脚本之前要使用的文件名.有一个"另存为..."对话框从用户获取文件路径/文件名以传递给shell脚本的最佳方法是什么?
我们目前正在测试桌面应用程序的Facebook功能.我们定义了一个Facebook应用程序,然后创建了开放图形操作,对象和聚合.
第一个问题:如果获取的(对象URL)和规范(og:url)URL不同,为什么标签是从规范URL而不是从提取的URL中获取的?首先有一个提取和规范的URL有什么用?
第二个问题:当一个动作被发布并且用户跟随Facebook聚合框中的相应链接时,我们看到其他参数在查询字符串中与我们的og:url组合在一起(例如?fb_action_ids = ##&fb_action_types = ...&fb_source = recent_activity).有没有办法让我们的og:url保存,而不是以这种方式扩展?
我最近在Ubuntu中安装了Apache,PHP和MySQL.并将我创建的文件复制到var/www目录中.但当我打开http://localhost它显示
警告:未知:未能打开流:第0行的未知权限被拒绝
致命错误:未知:在第0行的未知中打开所需的'/var/www/index.php'(include_path ='.:/ usr/share/php:/ usr/share/pear')失败
如何正常运行我的项目?它在Windows中运行良好.
通常用于高能物理的ROOT数据分析框架使用二进制文件格式,其具有内部结构,如真实文件系统(即文件夹和文件).程序的ls()方法输出如下所示:
KEY: TH1D name1
KEY: TH1D name2
KEY: TH2D name3
....
Run Code Online (Sandbox Code Playgroud)
"TH1D"和"TH2D"等只是对象类型.在emacs中以类似dired的界面浏览文件真是太好了.我当然没有时间从头开始编写一个dired接口的能量/时间(即使在dired.el源的帮助下).我的问题是:如果可能的话,我怎样才能通过重新实现一些函数来加入到dired接口中,为上面的输出创建一个类似于dired的界面?
我当然不期待这里有完整的解决方案,而是指向示例,教程和其他有用信息的指针.