繁体   English   中英

如何使用JavaScript显示当天+ 30天?

[英]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天的正确日期? 有任何想法吗?

https://jsfiddle.net/e3a7bgLu/3/

尝试

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM