用JS分别编写日期

时间:2018-11-30 00:17:18

标签: javascript

我有一个HTML文件,该文件的外部链接是Javascript。

我需要创建三个单独的变量,然后分别命名为Day,Month和Year。

我一点也不明白。我已经尝试过we3学校提供的代码,但对我来说却毫无意义。

有人可以告诉我如何显示这些不同的项目(日,月,年)吗?我迷失了方向。

我希望有人能告诉我编码,这是什么意思,因为我整天都在阅读不同的代码,但这就像在读另一种语言,我听不懂。

TYIA

这是我的代码。我不知道我在做什么,所以我确定那是一团糟!

var myDate = new Date();
console.log(myDate);


function showDate(){
    var mn = date.getMonth();
    var d = date.getDay();
    var y = date.getCurrentYear();

    var date = mn + d + y session;
    document.getElementById("'Month', 'Day', 'Year'")

}

5 个答案:

答案 0 :(得分:2)

我怀疑您想要的是可读的月份,日期等。 JavaScript不开箱即用。因此,您需要创建数组来保存这些值,以便向用户呈现可读的内容。但是,请最后阅读我的MomentJS示例。

const months = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]


function showDate(){
  var fullDate = new Date();    
  var d = fullDate.getDay();
  var m = fullDate.getMonth();
  var y = fullDate.getFullYear();

  var date = `${months[m]} ${d}, ${y}`;
  document.getElementById('date').innerHTML = date;

}

showDate();
<div id="date"><div>

MomentJS已确定日期,您确实应该使用它

function showDate() {
  var date = moment().format('MMMM D, YYYY');
  document.getElementById('date').innerHTML = date;
}

showDate();
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js"></script>
<div id="date"></div>

关于您原始代码的代码反馈

  1. 在代码中,您使用document.getElementById("'Month', 'Day', 'Year'")。您只能为每个getElementById引用一个ID,因此该方法无效。
  2. 此外,以上内容仅是对页面上的元素(即DOM)的引用。您需要使用.innerHTML
  3. 为其分配值
  4. 您的函数中随机包含变量session
  5. 您必须调用函数才能运行该代码。即showDate()

答案 1 :(得分:1)

这是先发制人的,因为您没有发布显示您实际处理内容的代码,但这是如何从JS获取值的方法:

var now = new Date()

var day = now.getDay()
var year = now.getFullYear()

var month = now.getMonth() // in November, this will return the number 10

查看MDN以了解详情:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date

现在使用您的代码,我将进行以下更改:

function showDate() {
  document.getElementById('idOfYourElement').innerHTML = new Date().getDate() // cheating a little
}

我强烈建议您购买一些有关Udemy(或任何地方)的课程,并花点时间在这些课程上。这些东西需要花费时间和精力,但是如果您经过艰苦的工作,您将在脑海中建立一个坚实的框架以快速学习此类概念。

答案 2 :(得分:0)

好的,我也将不用代码回答您的问题。因此,要获取日期,您必须先声明varible才能获取该日期。

var fullDate = new Date();    
var theDay = fullDate.getDay();
var theMonth = fullDate.getMonth();
var theYear = fullDate.getFullYear();

console.log(theDay+" "+theMonth+" "+theYear);

在我的情况下,我将其称为fullDate是为了清楚它获取日期的新实例。然后,您可以使用点连接器从该日期起获取所需的其他信息。 https://www.w3schools.com/jsref/jsref_obj_date.asp

我希望这会有所帮助。

编辑:您添加了信息更改

 var mn = date.getMonth();
    var d = date.getDay();
    var y = date.getCurrentYear();

您为什么使用date.?使用您先前创建的myDate

答案 3 :(得分:0)

这是更正的代码

var myDate = new Date();
console.log(myDate);


function showDate(){
    var mn = myDate.getMonth();
    var d = myDate.getDay();
    var y = myDate.getFullYear();

    var date = mn+" "+d+" "+y;
    console.log(date);

}

因此,要打印或显示日期,您需要在两者之间加空格。在获得日期值之前,在本例中分别为11、30和2018,因为您所拥有的只是一个加号js,所以他们查看这些值并将其识别为整数。因此,它只是将它们加在一起。

通过在方程式中添加+" "+,可以使js停止进行数学运算,而是将整个内容视为字符串,并将按照您指定的顺序打印出值。

我希望这会有所帮助。

答案 4 :(得分:0)

好的,您发布的代码中有几个错误。这是您的代码细分:

var myDate = new Date();
console.log(myDate);

新的Date()使用内置的Date函数创建Date对象。您将变量 myDate 设置为具有刚创建的日期对象的值。然后 console.log(myDate)将变量记录到控制台。如果打开(Ctrl + Shift + I)控制台,然后重新加载网页,您将看到myDate的值写入控制台。这部分没有错误。现在转到另一部分:

function showDate(){
    var mn = date.getMonth();
    var d = date.getDay();
    var y = date.getCurrentYear();

    var date = mn + d + y session;
    document.getElementById("'Month', 'Day', 'Year'")

}

这是错误所在。 date.getMonth() date.getDay() date.getCurrentYear NOT 定义的。因此,它不是Date对象,因此不能使用方法 getMonth() getDay()。相反,您应该使用以前定义为Date对象的 myDate myDate.getDay()。同样, getCurrentYear()不是有效的方法,您应该改用 getYear() getFullYear()返回当前年份,例如 myDate.getYear()。此处的另一个错误是“会话” 独立存在,因此没有任何意义。   

最后, document.getElementById(htmlElementId)仅接受一个参数。此参数是html元素的 id 属性的值。例如,假设html文档的一个段落元素定义为:

<p id="paraID">This is a paragraph</p>

要访问此段落元素,您必须将 id 属性 paraID 的值作为 getElementById的参数传递()例如

var para = document.getElementById(paraID);

您可能希望日期显示在网页上。综合这些修复程序,代码的一种可能的无错误版本可能是:

var myDate = new Date();
console.log(myDate);


function showDate(){
    var mn = myDate.getMonth();
    var d = myDate.getDay();
    var y = myDate.getYear();

    var date = mn + "/" + d + "/" + y;
    var element = document.getElementById(htmlElementId);// htmlElementId is id value
    element.innerHTML = date;

}
showDate();