Javascript:日期问题

时间:2010-08-15 16:45:49

标签: javascript datetime

我在javascript中创建一个新的日期,并为它提供日期的字符串值,如下所示:

>>> string_date = '2009-09-09';
>>> var myDate = new Date(string_date);
>>> myDate
Tue Sep 08 2009 20:00:00 GMT-0400 (EST) { locale="en"}

字符串日期来自日历选择器窗口小部件,我将该窗口小部件的值写入隐藏的输入字段。日期格式为YYYY-MM-DD。此外,使用上面的代码,我将选择的日期写入div以便以一种很好的方式显示日期。但是,用户对显示的日期感到困惑。那么,我怎样才能以不考虑区域设置的方式显示日期呢?请将其写为2009年9月9日?

谢谢! :)

3 个答案:

答案 0 :(得分:4)

这样的东西?

<script type="text/javascript">
<!--

var m_names = new Array("January", "February", "March", 
"April", "May", "June", "July", "August", "September", 
"October", "November", "December");

var d = new Date();
var curr_date = d.getDate();
var curr_month = d.getMonth();
var curr_year = d.getFullYear();

document.write(m_names[curr_month] + " " + curr_date + ", " + curr_year);

//-->
</script>

更多信息:http://www.webdevelopersnotes.com/tips/html/javascript_date_and_time.php3

答案 1 :(得分:0)

myDate.toDateString()

如果您不想要这一天(1 + myDate.getMonth()) + ' ' + myDate.getDate() + ', ' + myDate.getFullYear()

如果您不需要该逗号,可以将其写为[1 + myDate.getMonth(), myDate.getDate(), myDate.getFullYear()].join(' ')

编辑:忘记getMonth()不返回人类可读的名称,并且你必须按照@NinjaCat将它们存储在数组中。

答案 2 :(得分:0)

var parts = myDate.split(' ');
var strDate = parts[1] + ' ' + parts[2] + ', ' + part[3]

如果你采用“正确”的方式并使用getXXX,请记住,{JS 1个月}从0开始,getMonth()需要+1。