我正在尝试计算两天之间的天数,但我遇到了夏令时的问题.这是我的代码:
function date_diff($old_date, $new_date) {
$offset = strtotime($new_date) - strtotime($old_date);
return $offset/60/60/24;
}
Run Code Online (Sandbox Code Playgroud)
只要天数都在同一个DST期间,就可以正常工作:
echo date_diff('3/15/09', '3/18/09'); // 3
Run Code Online (Sandbox Code Playgroud)
但如果它们相距甚远则不是:
echo date_diff('11/15/08', '3/18/09'); // 122.95833333333
Run Code Online (Sandbox Code Playgroud)
我想要偶数天,而不关心夏令时.我想我可以绕过结果,但感觉很糟糕.有更好的(简单)方式吗?如果我可以避免它,我不想写一整天解析和计数 - 避免闰年的事情.
(注意:这必须在php 5.1.6下运行,因此5.3中的某些日期功能可能无法使用.)
更多信息:我将获取偏移量并将其添加到数据库中的其他日期时间,并且我只希望更改日期部分,而不是时间部分.无论如何,结果舍入将无效,因为当我进行添加时,它会在另一个方向上下一个小时.也许对整个问题有一个更好的方法....
假设我有一个用于编辑Pony属性的表单,在我的Web应用程序中,有多个地方可以选择编辑Pony.例如,在Ponies列表中,每个Pony旁边可能有一个"编辑"链接,当用户正在查看Pony时,该视图中可能还有一个"编辑"链接.
当用户在编辑Pony后单击"提交"时,我想将用户返回到他或她在单击"编辑"链接时所在的页面.
如何编写控制器以将用户重定向回到他们开始的位置?当然我可以通过将参数传递给控制器来做到这一点,但这看起来有点傻.我是在考虑这一切都是错的,还是我要做的事情呢?
如何删除类名并将其替换为新名称?
<style>
.red {background-color: #FF0000;}
.green{background-color: #00FF00;}
.blue {background-color: #0000FF;}
</style>
<body class="red">
<ul>
<li><a href="">red</a></li>
<li><a href="">green</a></li>
<li><a href="">blue</a></li>
</ul>
</body>
Run Code Online (Sandbox Code Playgroud)
在这种情况下,当您单击红色或绿色或蓝色时,正文类名称将相应更改.它还会制作一个可以节省选择的cookie.
我尝试了jQuery .addClass并且它正在工作,但是它在现有的类之上添加了一个类.此外,我无法保存cookie.
所以我最近一直在研究我的Java技能,并且发现了一些我之前不知道的功能.静态和实例初始化器是两种这样的技术.
我的问题是什么时候会使用初始化程序而不是在构造函数中包含代码?我想到了几个明显的可能性:
static/instance initializers可用于设置"final"静态/实例变量的值,而构造函数则不能
静态初始化程序可用于设置类中任何静态变量的值,这应该比在每个构造函数的开头具有"if(someStaticVar == null)// do stuff"代码块更有效
这两种情况都假设设置这些变量所需的代码比简单的"var = value"更复杂,否则似乎没有任何理由使用初始化器而不是在声明变量时简单地设置值.
然而,虽然这些并非微不足道的收益(特别是设置最终变量的能力),但似乎应该使用初始化程序的情况相当有限.
当然可以在构造函数中使用初始化器来完成很多工作,但我真的没有看到这样做的原因.即使一个类的所有构造函数共享大量代码,使用私有initialize()函数似乎比使用初始化程序更有意义,因为它不会阻止您在编写新代码时运行该代码构造函数.
我错过了什么吗?是否还有许多其他情况需要使用初始化程序?或者它是否真的只是在非常具体的情况下使用的相当有限的工具?
java constructor initializer static-initializer initialization-block
我在谷歌搜索后发现了一个用于Git的post-receive钩子,用于通过电子邮件将所有提交邮件发送到远程/共享仓库.
这个post-receive钩子的问题在于它只能提供谁提交,日志消息,日期,文件受影响.我还希望看到受影响的文件在电子邮件中生成补丁,以查看对代码所做的更改.Subversion做得相当不错.
有没有人有一个解决方案可能是一个env变量,可以传递到post-receive钩子这样做?或者甚至更好,一个已经煮熟的例子?
谢谢大家!
我一直在寻找一个好的通用二进制网络协议定义框架,以提供一种以多种语言编写实时游戏服务器和客户端(想想魔兽世界或Quake III)的方法(例如Java后端服务器和iPhone前端用Objective-C和Cocoa编写的客户端).
我想支持Windows上的Java Flash客户端,iPhone客户端和C#客户端(以及XBOX上的XNA客户端).
我正在寻找一种通过TCP/IP或UDP套接字流连接有效发送/接收消息的方法.我不是在寻找可以通过HTTP Web服务发送的东西,比如JSON或XML编组的对象.虽然Hessian的二进制Web服务协议是一个非常有趣的解决方案
我想要一种网络协议格式和客户端/服务器基本实现,它允许客户端连接到服务器并以定义的协议发送任何消息,并接收协议中的任何消息,而不必绑定到某种RPC端点.我希望我的协议传入和传出的任何消息的通用流.这样我就可以支持诸如服务器每隔100毫秒向所有客户端发送游戏中各种实体的位置.
这是一个示例代码:
public class TestIO{
public static void main(String[] str){
TestIO t = new TestIO();
t.fOne();
t.fTwo();
t.fOne();
t.fTwo();
}
public void fOne(){
long t1, t2;
t1 = System.nanoTime();
int i = 10;
int j = 10;
int k = j*i;
System.out.println(k);
t2 = System.nanoTime();
System.out.println("Time taken by 'fOne' ... " + (t2-t1));
}
public void fTwo(){
long t1, t2;
t1 = System.nanoTime();
int i = 10;
int j = 10;
int k = j*i;
System.out.println(k);
t2 = System.nanoTime();
System.out.println("Time taken …Run Code Online (Sandbox Code Playgroud) 我应该在Rails中放置SQL查询的最佳实践是什么?
我应该在模型中创建方法,例如:find_all_public_items,其中我使用了具有所有条件的find方法,然后在控制器中使用它们.就像我在一个地方有所有的查询,但我错过了每个查询应该完全适合需要的灵活性.
我应该只在控制器中使用find/find_by_sql - 这样我就不会创建数以千计的方法,但是我无法控制控制器如何从数据库中吸取数据.
我想要一个易于学习的工具或编程语言的建议来开发基于Web的应用程序.
它应该提供快速应用程序开发(RAD),跨平台并能够连接到各种数据库.
一个例子可以是Ruby,TurboGears等.最好是开源的.
我有一个我正在创建的Windows批处理文件,但我必须ECHO一个大的复杂字符串,所以我必须在任何一端放双引号.问题是引号也正在被我正在写入的文件进行ECHO.你如何回收这样的字符串并删除引号?
更新:
我花了最近两天的时间来研究这个问题,最后能够将这些东西融合在一起.理查德的回答是剥离引号,但即使我把ECHO放在子程序中并直接输出字符串,Windows仍然挂在字符串中的字符上.我会接受理查德的回答,因为它回答了问题.
我最终使用了Greg的sed解决方案,但由于sed/windows错误/功能而不得不修改它(它没有帮助它没有文档).在Windows中使用sed有一些注意事项:你必须使用双引号而不是单引号,你不能直接转义字符串中的双引号,你必须结束字符串,使用^进行转义(所以^"然后,有人指出,如果你将输入管道输入到sed,那么管道中有一个管道存在错误(我没有得到验证,因为在我的最终解决方案中,我刚发现一种不在字符串中间包含所有引号的方法,只是删除了所有引号,我永远不能让endquote自行删除.)感谢所有的帮助.
java ×3
batch-file ×1
benchmarking ×1
constructor ×1
cookies ×1
css ×1
database ×1
datetime ×1
dst ×1
echo ×1
git ×1
initializer ×1
javascript ×1
jquery ×1
php ×1
quotes ×1
rad ×1
real-time ×1
sed ×1
spring-mvc ×1
web-based ×1
windows ×1
xna ×1