[英]How to display the current day + 30 days with Javascript?
我尝试插入今天+ 30天的日期。 首先,我尝试使用以下代码显示当前日期:
<script>
var date = moment.unix(1414543560).locale('de').format("DD. MMMM YYYY");
document.write(date);
</script>
这会显示正确的日期和月份,但不幸的是,年份是错误的(实际上是2014年)
如何显示今天+ 30天的正确日期? 有任何想法吗?
尝试
var date = moment().add(30, 'days').locale('de').format("DD. MMMM YYYY");
document.write(date);
这将采用当前日期( moment()
),加上30天( add(30, 'days')
)并格式化日期。
在阅读了moment.js文档之后,所有这些都应该非常明显。
function addDate(date,days){
var d=new Date(date);
d.setDate(d.getDate()+days);
var month=d.getMonth()+1;
var day = d.getDate();
if(month<10){
month = "0"+month;
}
if(day<10){
day = "0"+day;
}
var val = d.getFullYear()+"-"+month+"-"+day;
return val;
}
console.log(addDate("2014-10-10",30));
#output
2014-11-09
您可以将UNIX时间戳传递给JavaScript中的Date
构造函数,将Date
设置为将来的30天,然后将该日期传递给Moment。
// Construct date from UNIX timestamp
var date = new Date(1414543560 * 1000)
// Set date to 30 days in the future
date.setDate(date.getDate() + 30)
// Format date using Moment
var formatted = moment(date).locale('de').format('DD. MMMM YYYY')
请注意,如果您的支持目标允许,那么您甚至不需要Moment,就可以使用浏览器随附的内置Internationalization API 。
// Construct date from UNIX timestamp var date = new Date(1414543560 * 1000) // Set date to 30 days in the future date.setDate(date.getDate() + 30) // Format date using Intl API var formatted = date.toLocaleDateString(['de-DE'], { day: '2-digit', month: 'long', year: 'numeric' }) document.write(formatted)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.