所以我提前道歉,我对Javascript很新。我正在创建一个饲料,但我被卡住了。 第一天的输出显示为“2014年2月3日13:23:03 GMT-0500(东部标准时间)”,我只想阅读“2月3日”或“2月3日”。请帮忙!!!这是我的代码
<script type="text/javascript">
Date.prototype.getWeek = function() {
var onejan = new Date(this.getFullYear(),0,1);
return Math.ceil((((this - onejan) / 86400000) + onejan.getDay()+1)/7);
}
function getMonday(d) {
var day = d.getDay(),
diff = d.getDate() - day + (day == 0 ? -6 : 1)+14;
return new Date(d.setDate(diff));
}
var firstday = getMonday(new Date());
var weekNumber = (new Date()).getWeek()+3;
// Array of day names
var dayNames = "Week ";
var now = new Date();
document.write("<h2 align='center' style='margin-bottom:0;'>");
document.write(dayNames + weekNumber);
document.write("</h2>");
document.write("<p align='center' style='margin-top:5px;'><strong>Deploying the week of ");
document.write(firstday);
document.write("</strong></p>");
</script>
答案 0 :(得分:0)
function formatDate(theDate) {
var month = theDate.getMonth()+1;
var year = theDate.getYear();
var day = theDate.getDate();
var zero = "0";
if(day<10) day = zero.concat(day);
if(month<10) month = zero.concat(month);
if(year<1000) year += 1900;
t = (String(year) + '-' + String(month) + '-' + String(day));
return t;
}
function stdDate(theDate) {
var month = theDate.getMonth()+1;
var year = theDate.getYear();
var day = theDate.getDate();
var zero = "0";
if(day<10) day = zero.concat(day);
if(month<10) month = zero.concat(month);
if(year<1000) year += 1900;
t = (String(day) + '.' + String(month) + '.' + String(year));
return t;
}
答案 1 :(得分:0)
我们可以使用某些方法简单地格式化字符串,以创建我们自己的格式化日期:
var months = [ "January", "February", "March", "April", "May", "June",
"July", "August", "September", "October", "November", "December" ];
var date = new Date()
var month = date.getMonth(); // Returns the Month as a number
var day = date.getDate(); // Returns the Day of the Month as a number
var formattedDate = months[month]+" "+day; // January 23
答案 2 :(得分:0)
.toLocaleString()
功能将解决您的问题。
var date=new Date();
var arr=date.toLocaleString().split(' ');
document.write(arr[1]+" "+arr[0]);
查看小提琴here
修改强>
要添加23rd,21日,15日等文本,您可以编写像
这样的commonFunctionfunction getSuffix(num) {
var stringAppend = "";
switch (num % 10) {
case 1:
stringAppend = "st";
break;
case 2:
stringAppend = "nd";
break;
case 3:
stringAppend = "rd";
break;
default:
stringAppend = "th";
break;
}
return num + stringAppend;
}
答案 3 :(得分:0)
我真的建议你远离手动计算,并使用一个非常好且经过测试的库来解析,验证,操作和格式化日期,称为Moment.js。
通过这种方式,您可以安全地依赖它进行计算并简化代码:
// Get last monday.
var lastMonday = moment().startOf('isoweek');
// Add two weeks to last monday.
var nextSecondMonday = lastMonday.add('weeks', 2);
// Format the next second monday for presentation.
var firstDay = nextSecondMonday.format('MMMM Do');
// Get next second monday week number.
var weekNumber = nextSecondMonday.isoWeek();
document.write("<h2 align='center' style='margin-bottom:0;'>");
document.write('Week ' + weekNumber);
document.write("</h2>");
document.write("<p align='center' style='margin-top:5px;'><strong>Deploying the week of ");
document.write(firstDay);
document.write("</strong></p>");
此代码假设您现在开始执行某些操作并在两周的星期一结束(例如,打开新的开发冲刺),您需要获取这些值以便用户知道何时部署它如果它现在开始请注意,下周它会显示另一个日期,因为它总是会增加2周。因此,例如,如果结果是2月3日,那么下周将显示2月10日,并且不会保持2月3日直到2月3日。我不确定这是否是你需要的,因为我快速查看了你的代码而你没有对计算进行评论(你应该为以后做些)。如果您需要将日期保持到2月3日,那么在进行数学和使用Moment.js时更改此代码应该不会太困难。