小编Nag*_*ran的帖子

我在哪里可以找到有关在JavaScript中格式化日期的文档?

我注意到JavaScript的new Date()功能在接受多种格式的日期时非常聪明.

Xmas95 = new Date("25 Dec, 1995 23:15:00")
Xmas95 = new Date("2009 06 12,12:52:39")
Xmas95 = new Date("20 09 2006,12:52:39")
Run Code Online (Sandbox Code Playgroud)

在调用new Date()函数时,我无法在任何地方找到显示所有有效字符串格式的文档.

这用于将字符串转换为日期.如果我们看一下相反的方面,即将日期对象转换为字符串,直到现在我的印象是JavaScript没有内置的API来将日期对象格式化为字符串.

编者注:以下方法是提问者的企图,关于特定浏览器的工作,但也不会在一般的工作; 请参阅此页面上的答案以查看一些实际解决方案.

今天,我在toString()日期对象上使用了该方法,并且令人惊讶的是它用于将日期格式化为字符串.

var d1 = new Date();
d1.toString('yyyy-MM-dd');       //Returns "2009-06-29" in Internet Explorer, but not Firefox or Chrome
d1.toString('dddd, MMMM ,yyyy')  //Returns "Monday, June 29,2009" in Internet Explorer, but not Firefox or Chrome
Run Code Online (Sandbox Code Playgroud)

在这里,我找不到任何关于我们可以将日期对象格式化为字符串的方法的文档.

列出Date()对象支持的格式说明符的文档在哪里?

javascript datetime date date-format time-format

1381
推荐指数
21
解决办法
143万
查看次数

监听器在javascript对象中更改属性值

通过javascript文档,我发现javascript对象上的以下两个函数看起来很有趣:

.watch - 为属性分配值并在发生时运行函数.
.unwatch - 使用watch方法删除观察点集.

样品用法:

o = { p: 1 };
o.watch("p", function (id,oldval,newval) {
    console.log("o." + id + " changed from " + oldval + " to " + newval)
    return newval;
});
Run Code Online (Sandbox Code Playgroud)

每当我们更改"p"的属性值时,此函数都会被触发.

o.p = 2;   //logs: "o.p changed from 1 to 2"
Run Code Online (Sandbox Code Playgroud)

我在过去的几年里一直在使用javascript,从未使用过这些函数.
有人可以抛出一些好的用例,这些功能会派上用场吗?

javascript browser dom-events

20
推荐指数
3
解决办法
2万
查看次数

列出在单个cvs提交中签入的所有文件

通常,我们针对任何错误的修复/补丁涉及多个文件的更改,我们将一次性提交所有这些文件.

在SVN中,对于每个提交(可能涉及多个文件),它将整个存储库的修订号增加一个.因此,我们可以轻松链接一次提交中的所有多个文件.

现在CVS中相同案例的难点在于它将单独增加所有文件的修订号.假设提交涉及以下文件:

file1.c //作为此commit..1.5.10.2
file2.c //一部分分配的修订版本作为此commit.1.11.10.1的一部分分配的版本

并且为此提交给出的评论是"First Bug Fix".

现在,将所有文件作为此提交的一部分签入的唯一方法是在所有cvs日志中搜索注释"First Bug Fix",并希望它只返回上面提到的两个文件修订版.

如果在CVS中有更好的方法来跟踪在单个提交中签入的所有文件,而不是在作为提交的一部分给出的评论中转发,请分享您的观点.

cvs version-control

14
推荐指数
1
解决办法
8796
查看次数

如何在cygwin下的Perl脚本中处理箭头键?

我在cygwin下运行Perl脚本,它从输入中获取输入<STDIN>并连续处理请求.

#!/usr/bin/perl
print "Enter Input:";
while(<STDIN>) {
    print "Recieved Input: $_";
    print "Enter Input:";
}



    $perl testPerl.pl        
    Enter input:input1
    Recieved input:input1
    Enter input:inpt2
    Recieved input:input2
    Enter input:
Run Code Online (Sandbox Code Playgroud)

现在,我想在当前提示符处的向上箭头:"输入输入:"以获取先前的输入,即"input2","input1"

在windows enivronment(cmd.exe)下运行时它的行为与预期的一样.
但是cygwin下的问题是向上箭头字面上将光标向上移动1行,即它采用"接收输入:input2"行

请分享您对此的看法.

windows perl cygwin

6
推荐指数
1
解决办法
1081
查看次数

如何让ActivePerl与cygwin的屏幕很好地配合?

我想使用cygwin工具(屏幕)进行开发,并从cygwin环境调用ActiveState Perl调试器会引发以下错误.

bash-3.2$ perl -d test.pl
The system cannot find the path specified.
Unable to get Terminal Size. The Win32 GetConsoleScreenBufferInfo call didn't work. The COLUMNS and LINES environment variables didn't work. The resiz
e program didn't work. at F:/Perl/lib/Term/ReadKey.pm line 362.
Compilation failed in require at F:/Perl/lib/Term/ReadLine/Perl.pm line 64.
 at F:/Perl/lib/Term/ReadLine/Perl.pm line 64
        Term::ReadLine::Perl::new('Term::ReadLine', 'perldb', 'GLOB(0x18e2e0c)', 'GLOB(0x1883e14)') called at F:/Perl/lib/perl5db.pl line 6073
        DB::setterm called at F:/Perl/lib/perl5db.pl line 2237
        DB::DB called at testReliance1.pl line 2
Attempt to reload Term/ReadLine/readline.pm aborted. …
Run Code Online (Sandbox Code Playgroud)

windows perl cygwin windows-xp

6
推荐指数
1
解决办法
3512
查看次数

是否应在登录前或成功登录后创建PHP会话

如果在登录前创建了PHP会话,则会为每个登录页面请求创建一个会话文件.

问题是如果用户通过脚本向服务器发出多个请求,那么将创建那么多会话文件.
如果用户想攻击服务器,他可以发送异常大量的请求,创建如此多的会话文件占用所有临时空间并使服务不可用.
我不确定这种攻击是否真的可行/可行.

如果在成功登录之前/之后创建PHP会话,请分享您对此的意见和影响.

php cookies session

5
推荐指数
1
解决办法
2795
查看次数

在部分线上穿上Vim替代品

我们可以通过在可视模式下选择它们并进入命令模式来对一组行执行vim替换.它会自动填充所选范围
:'<,'>

我们可以执行替换,例如:'<,'> s/TestSubstitute // gc

我想知道是否可以在vim中对在视觉模式中选择的部分行执行替换命令,所以类似于

:`<,``> [后跟替换命令]

通常,我将在vim中复制由分隔符","分隔的一组字段名称,并且想要计算列数,一旦在可视模式中选择了所有字段名称,就可以通过逗号出现次数来确定.

从fileInfo中选择fname,lastmodtime,lastaccesstime;

如果我在视觉模式中选择从fname到lastaccesstime的文本,并想知道所选文本中的逗号数.

在此先感谢,
Naga Kiran

vim editor

5
推荐指数
1
解决办法
583
查看次数

如何使%(跳转到匹配括号)键忽略Vim中的注释掉的代码

1  #include <stdio.h>
2  int main(int argc, char* argv[]) {
3    int i=10;
4  /* } */
5    return 0;
6  }
Run Code Online (Sandbox Code Playgroud)

如果光标位于第2行{,我按下%键,光标显示第4行(已注释掉)的匹配右括号,而不是第6行的匹配右括号.

这有什么解决方法吗?

vim

3
推荐指数
1
解决办法
778
查看次数