有没有办法检查日期/时间是否有效你会认为这些很容易检查:
$date = '0000-00-00';
$time = '00:00:00';
$dateTime = $date . ' ' . $time;
if(strtotime($dateTime)) {
// why is this valid?
}
Run Code Online (Sandbox Code Playgroud)
真正让我感到满意的是:
echo date('Y-m-d', strtotime($date));
Run Code Online (Sandbox Code Playgroud)
结果:"1999-11-30",
是吧?我从的电子邮件发送到1999-11-30 ???
我知道我可以做比较,看看日期是否等于我的日期,但它不是一个非常强大的检查方式.有没有一个好方法来检查我是否有一个有效的约会?任何人都有很好的功能来检查这个?
编辑:人们在问我正在运行的是什么:在Linux localhost上运行PHP 5.2.5(cli)(内置:2008年7月23日11:32:27)2.6.18-53.1.14.el5#1 SMP 3月5日星期三11 :36:49 EST 2008 i686 i686 i386 GNU/Linux
我们目前使用手动设置和配置脚本以及手动连续集成脚本来构建和部署我们的应用程序.我正在考虑使用专为这些目的而设计的第三方系统来正式化这一点.
我之前看过Phing,我知道它基本上就像Ant.但是,我的Ant体验有点受限,所以对我没有多大帮助.(我所做的大部分Java工作都是作为jar文件部署的).
之前我已经研究过Cruise Control,我知道phpUnderControl是CC的一个插件.但是,Phing说它也适用于CC.所以我不清楚这里的重叠.我是否需要使用Phing和phpUnderControl来使用CruiseControl,还是它们是相互排斥的?
我需要的是能够:
现在,我们以这种或那种形式提供所有这些.但是,将它全部自动化并在一个过程中捆绑在一起会很不错.
我正在编写一些服务器代码,通过STDIN与客户端进程通信.我正在尝试编写一段perl代码片段,异步接收来自客户端STDOUT的响应.代码的阻止版本可能如下所示:
sub _read_from_client
{
my ($file_handle) = @_;
while (my $line = <$file_handle>) {
print STDOUT $line;
}
return;
}
Run Code Online (Sandbox Code Playgroud)
重要的是,该代码段需要在Win32平台上运行.*nix平台有很多我不感兴趣的解决方案.我使用的是ActivePerl 5.10.
从头开始设计新系统.我将使用STL来存储某些长寿命对象的列表和地图.
问题:我是否应该确保我的对象具有复制构造函数并在我的STL容器中存储对象的副本,或者通常更好地自己管理生命和范围并将指针存储到我的STL容器中的那些对象?
我意识到这在细节方面有点短暂,但我正在寻找"理论上"更好的答案,如果它存在,因为我知道这两种解决方案都是可能的.
使用指针的两个非常明显的缺点:1)我必须在超出STL的范围内管理这些对象的分配/释放.2)我无法在堆栈上创建临时对象并将其添加到我的容器中.
还有什么我想念的吗?
如何检查PATH环境变量中是否已存在目录?这是一个开始.但是,我已经设法使用下面的代码,它回显了%PATH%中的第一个目录.由于这是一个FOR循环,你会认为它将枚举%PATH%中的所有目录,但它只获得第一个目录.
有没有更好的方法呢?像%PATH%变量上运行的find或findstr之类的东西?我只想检查%PATH%目录列表中是否存在目录,以避免添加可能已存在的内容.
FOR /F "delims=;" %%P IN ("%PATH%") DO (
@ECHO %%~P
)
Run Code Online (Sandbox Code Playgroud) 我正在使用表单窗口小部件,用户可以将一天中的时间输入到文本输入中(对于日历应用程序).使用JavaScript(我们使用jQuery FWIW),我想找到解析用户输入JavaScript Date()对象的文本的最佳方法,这样我就可以轻松地对其进行比较和其他事情.
我尝试了这种parse()方法,对我的需求来说有点挑剔.我希望它能够成功地将以下示例输入时间(除了其他逻辑上相似的时间格式)解析为同一个Date()对象:
我想我可能会使用正则表达式来分割输入并提取我想用来创建Date()对象的信息.做这个的最好方式是什么?
我的生产系统偶尔会出现我在开发环境中无法重现的内存泄漏.我使用了Python内存分析器(特别是Heapy)在开发环境中取得了一些成功,但它无法帮助我处理我无法重现的事情,而且我不愿意使用Heapy来检测我们的生产系统,因为它需要一段时间来做它的事情,它的线程远程接口在我们的服务器中不能很好地工作.
我想我想要的是一种转储生产Python进程(或至少是gc.get_objects)的快照的方法,然后离线分析它以查看它在哪里使用内存. 我如何获得这样的python进程的核心转储? 一旦我有了,我该怎么做一些有用的东西?
给出两个日期时间.计算它们之间工作小时数的最佳方法是什么.考虑到工作时间是周一至周五8点到5点30分,周二至周五8点30分至5点30分,可能任何一天都可能是公众假期.
这是我的努力,似乎非常低效,但就迭代次数而言,IsWorkingDay方法命中数据库以查看该日期时间是否为公共假期.
任何人都可以建议任何优化或替代方案.
public decimal ElapsedWorkingHours(DateTime start, DateTime finish)
{
decimal counter = 0;
while (start.CompareTo(finish) <= 0)
{
if (IsWorkingDay(start) && IsOfficeHours(start))
{
start = start.AddMinutes(1);
counter++;
}
else
{
start = start.AddMinutes(1);
}
}
decimal hours;
if (counter != 0)
{
hours = counter/60;
}
return hours;
}
Run Code Online (Sandbox Code Playgroud) 使用INotifyPropertyChanged时指定属性名称的最佳方法是什么?
大多数示例将属性名称硬编码为PropertyChanged事件的参数.我在考虑使用MethodBase.GetCurrentMethod.Name.Substring(4),但对反射开销有点不安.
date ×3
datetime ×2
php ×2
time ×2
.net ×1
asynchronous ×1
batch-file ×1
c# ×1
c++ ×1
coredump ×1
dictionary ×1
file ×1
javascript ×1
memory-leaks ×1
parsing ×1
perl ×1
phing ×1
phpunit ×1
pointers ×1
python ×1
reflection ×1
stl ×1
strtotime ×1
winapi ×1
windows ×1
wpf ×1