我在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日?
谢谢! :)
答案 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。