日期功能 [英] date functions
问题描述
两个问题:
我使用
var date1 = new Date();
来获取今天的日期。但是我如何才能获得昨天的约会?
此外我使用
var ydat = date1.getYear();
var mdat = date1.getMonth()+ 1;
var hdat =" 0" + date1.getDate();
var ddat = hdat.substr( htag.length-2);
var datum = ydat +" -0" + mdat +" - " + ddat;
获取一个像2004-06-01的字符串
有没有更简单的格式化日期的方法?
Paul Ettl
www.paul.ettl.at
Two questions:
I use
var date1 = new Date();
to get todays date. But how can I get yesterdays date?
Furthermore I use
var ydat = date1.getYear();
var mdat = date1.getMonth()+1;
var hdat = "0"+date1.getDate();
var ddat = hdat.substr(htag.length-2);
var datum=ydat+"-0"+mdat+"-"+ddat;
to get a string like 2004-06-01
Is there a easier way to format the date?
Paul Ettl
www.paul.ettl.at
推荐答案
Paul J. Ettl于2004年6月1日在comp.lang.javascript中写道 :
Paul J. Ettl wrote on 01 jun 2004 in comp.lang.javascript:
今天约会。但是我怎么能得到昨天的约会?
忘记夏令时间的变化,这会让您在1天前获得同样的时间:
var D =新日期()
D.setDate(D.getDate() - 1)
提醒(D)
是否有更简单的方式来格式化日期?
to get todays date. But how can I get yesterdays date?
Forgetting summer time changes this gives you same time 1 day earlier:
var D = new Date()
D.setDate(D.getDate()-1)
alert(D)
Is there a easier way to format the date?
函数LZ(x){return(x< 0 || x> = 10?"":" 0")+ x}
var D = new Date();
D = D.getFullYear()+'' - ''+ LZ(D.getMonth()+ 1)+'' - ''+ LZ(D。 getDate())
提醒(D)
全部来自John Stockton的页面:
< http://www.merlyn.demon.co.uk/js-dates.htm>
-
Evertjan。
荷兰。
(请将x''es更改为我的电子邮件地址中的点数)
function LZ(x) { return (x<0||x>=10?"":"0") + x }
var D = new Date() ;
D = D.getFullYear()+''-''+LZ(D.getMonth()+1)+''-''+LZ(D.getDate())
alert(D)
all from John Stockton''s pages:
<http://www.merlyn.demon.co.uk/js-dates.htm>
--
Evertjan.
The Netherlands.
(Please change the x''es to dots in my emailaddress)
Paul J. Ettl写道:
Paul J. Ettl wrote:
我使用
var date1 = new Date();
获取今天的日期。但是我怎么能得到昨天的约会?
var dY yesterday = new Date(new Date()。setDate(-1));
(至少在Mozilla / 5.0中有效)和IE 6.0 Win。)
此外我使用
var ydat = date1.getYear();
var mdat = date1.getMonth()+ 1;
var hdat =" 0" + date1.getDate();
^^^^ var ddat = hdat.substr(htag.length-2);
var datum = ydat +" -0" + mdat +" - " + ddat;
^^
你总是连接起来,所以你可以
结束2004-012-031之类的东西。
到得到像2004-06-01这样的字符串
是否有更简单的格式化日期的方法?
取决于你的意思。肯定有一个*更好的方式:
//帮手方法
功能领先零(
/ * * @optional string * / s,
/ ** @optional number * / n)
/ **
* @partof
* http://pointedears.de/scripts/string.js
* @param s
*输入字符串。如果省略且调用对象
*具有数字< code>长度< / code>使用其toString()方法的
*结果。
* @param n
*结果字符串的长度。默认值为1,
*即如果输入字符串为空,则为0。返回。
* @returns带有前导零的输入字符串,以便
*其长度为@ {(n)}< / code> ;.
* /
{
if(this.length!=" undefined"
&&!isNaN(this .length)
&& typeof s ==" undefined")
{
s = this;
}
if(typeof s!=" string")
{
s = s.toString();
}
while(s.length< n)
{
s + =" 0 QUOT; + s;
}
返回s;
}
String.prototype.leadingZero = LeadingZero;
//特色代码
函数date_ymd(d)
{
if(!(d instanceof Date))
{
if(this instanceof Date)
{
d = this;
}
else
{
d = new Date(d);
}
}
var y = d.getFullYear? d.getFullYear():d.getYear();
if(y <1900)
{
$ b $ + = 1900;
}
返回(y
+" - " + leadingZero(d.getMonth + 1,2)>
+" - " + leadingZero(d.getDate(),2));
}
Date.prototype.ymd = date_ymd;
var datum = new Date()。ymd();
www.paul.ettl.at
这应该是签名的一部分,用仅包含
的行分隔
" - " (dashDashSpace)。否则重复发布此消息可能会被视为垃圾邮件。
PointedEars
This should be part of a signature, delimited with a line containing only
"-- " (dashDashSpace). Otherwise repeated posting of this could be
considered spam.
PointedEars
Thomas''PointedEars''Lahn< ;宝********* @ nurfuerspam.de>写道:
Thomas ''PointedEars'' Lahn <Po*********@nurfuerspam.de> writes:
Paul J. Ettl写道:
var dY yesterday = new Date(new Date()。setDate(-1));
(至少在Mozilla / 5.0和IE 6.0 Win中工作。)
Paul J. Ettl wrote: var dYesterday = new Date(new Date().setDate(-1));
(Works at least in Mozilla/5.0 and IE 6.0 Win.)
不。它总是成为上个月的倒数第二天,
,这永远不会是昨天。
如果你坚持在一条线上做,你可以使用
var昨天=新日期(新日期()。setDate(新日期()。getDate() - 1));
或者只是这样做:
var昨天=新日期();
昨天.setDate(yesterday.getDate() - 1);
/ L $ / $
-
Lasse Reichstein Nielsen - lr*@hotpop.com
DHTML死亡色彩:< URL:http://www.infimum.dk/HTML/rasterTriangleDOM.html>
''没有判断的信仰只会降低精神神圣。' '
Nope. It always becomes the next-to-last day of the previous month,
which can never be yesterday.
If you insist on doing it on one line, you can use
var yesterday = new Date(new Date().setDate(new Date().getDate()-1));
Or just do:
var yesterday = new Date();
yesterday.setDate(yesterday.getDate()-1);
/L
--
Lasse Reichstein Nielsen - lr*@hotpop.com
DHTML Death Colors: <URL:http://www.infimum.dk/HTML/rasterTriangleDOM.html>
''Faith without judgement merely degrades the spirit divine.''
这篇关于日期功能的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!