javascript - 新手 "first date formatting"脚本

标签 javascript jquery

我昨天开始尝试使用 JavaScript。这本来是我的第一个脚本,但在作为 html 文件打开时无法正常运行。我看不出有什么问题,已经检查了四次,有什么建议吗?

<HTML>
<HEAD>
<TITLE>Displaying the current time and date (formatted version)</TITLE>
<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">

<!-- Hide from browser that do not support JavaScript

var today = new Date();

var month = today.getMonth();

var displayMonth="";

switch (month) {
   case 0 :
     displayMonth = "January"
     break
   case 1 :
     displayMonth = "February"
     break
   case 2 :
     displayMonth = "March"
     break
   case 3 :
     displayMonth = "April"
     break
   case 4 :
     displayMonth = "May"
     break 
   case 5 :
     displayMonth = "June" 
     break
   case 6 :
     displayMonth = "July"
     break 
   case 7 :
     displayMonth = "August"
     break
   case 8 :
     displayMonth = "September"
     break
   case 9 :
     displayMonth = "October"
     break 
   Case 10 :
     displayMonth = "November"
     break
   Case 11 : 
     displayMonth = "December"
     break

   default: displayMonth = "INVALID"
}

   var hours = today.getHours();
   var minutes = today.getMinutes();
   var greeting;
   var ampm;

   if (hours <= 11) {
     greeting = "Good morning!";
     ampm="a.m."; 

     if (hours == 0) {
       hours= 12;
     }
  }

     else if (hours > 11 && hours < 18) {
       greeting = "Good afternoon!";
       ampm = "p.m.";

       if (hours > 12 ) {
          hours -= 12;
       }
     }

     else if (hours > 17 && hours < 21) {
       greeting = "Good evening!";
       ampm = "p.m.";
       hours -= 12;
     }

     else if (hours > 20) {
       greeting = "Good Night!";
       ampm = "p.m.";
       hours -= 12;
     }

    if (minutes < 10) {
       minutes = "0" + minutes;
    }

var displayGreeting = displayMonth + " "
       + today.getDate() + ", "
       + today.getYear()
       + " - " + hours + ":" + minutes + " " + ampm

document.writeln(displayGreeting)  

// --> Finish hiding
</SCRIPT>
</HEAD>
<BODY>
<B> HELP <B>
</BODY>
</HTML>

最佳答案

欢迎,我建议不要使用这么长的 case 声明来获取当前月份,而是使用以下

var monthNames = ["January", "February", "March", "April", "May", "June",
  "July", "August", "September", "October", "November", "December"
];

var month = monthNames[today.getMonth()];

关于javascript - 新手 "first date formatting"脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32701830/

相关文章:

javascript - Meteor.js 按字段中的值过滤集合

javascript - 正则表达式匹配带有特殊字符前缀的日期

javascript - 由于 JQuery 运算符,Karma/Jasmine 测试失败

jquery - 使用 jQuery 循环

php - 是否可以使用 jquery 添加从 mysql 中获取的数字?

javascript - 正则表达式匹配 str 中的 javascript/php 函数名称

javascript - Angular2 Observable 范围问题

javascript - 如何从 jquery.tmpl 中解析的 html 中获取子字符串

javascript - 刷新后如何保留localStorage值?

javascript - jQuery ajaxForm beforeSubmit 在 document.ready 上触发