haxe的时间使用

1、申明时间
var date = new Date(2020, 1, 2, 12, 30, 0);
// Sun Feb 02 2020 12:30:00 GMT+0100 (W. Europe Standard Time)

//创建一个当前时间
var today = Date.now();

2、格式化时间

date.getSeconds() The seconds of this Date (0-59 range).
date.getMinutes() The minutes of this Date (0-59 range).
date.getHours() The hours of this Date (0-23 range).
date.getDate() The day of this Date (1-31 range).
date.getDay() The day of the week of this Date (0-6 range) where 0 is Sunday.
date.getMonth() The month of this Date (0-11 range).
date.getFullYear() The full year of this Date (4-digits).
var now = Date.now();

var monthNames = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
var monthName = monthNames[now.getMonth()];
trace("this month is called " + monthName);

var dayNames = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saterday"];
var dayName = dayNames[now.getDay()];
trace("this day is called " + dayName);
DateTools.format(Date.now(), "%Y-%m-%d_%H:%M:%S");
// 2018-07-08_14:44:05

DateTools.format(Date.now(), "%r");
// 02:44:05 PM

var t = DateTools.format(Date.now(), "%T");
// 14:44:05

DateTools.format(Date.now(), "%F");
// 2018-07-08

DateTools.format(Date.now(), "%b %d, %Y");
// Jan 08, 2018

3、计算时间

var today = Date.now();
var dayInMs = 24 * 60 * 60 * 1000;
var yesterday = DateTools.delta(today, -dayInMs);
var tomorrow = DateTools.delta(today, dayInMs);
var nextWeek = DateTools.delta(today, dayInMs * 7);

trace("today: " + today);
trace("yesterday: " + yesterday);
trace("tomorrow: " + tomorrow);
trace("next week: " + nextWeek);

4、计时器

在这个例子中,创建了一个倒计时到特定日期的计时器。当倒计时运行时,它跟踪“5天-12:02:59”,当它过期时,计时器停止。

import haxe.Timer;
using StringTools;

class Test {
  inline static var minuteInMs = 1000 * 60;
  inline static var hourInMs = minuteInMs * 60;
  inline static var dayInMs = hourInMs * 24;
      
  static function main() {
    var target = new Date(2018,4,10, 23,12,4);
    var targetTime = target.getTime();

    // run timer every second
    var timer = new Timer(1000);
    timer.run = function() {
      var now = Date.now().getTime();
      var remainingMs = targetTime - now;

      var days = Math.floor(remainingMs / dayInMs);
      var hours = Math.floor((remainingMs % dayInMs) / hourInMs);
      var minutes = Math.floor((remainingMs % hourInMs) / minuteInMs);
      var seconds = Math.floor((remainingMs % minuteInMs) / 1000);

      // Format ourselves for fun. We could have used `DateTools.format` here too
      var d = '$days'.lpad("0", 2);
      var h = '$hours'.lpad("0", 2);
      var m = '$minutes'.lpad("0", 2);
      var s = '$seconds'.lpad("0", 2);
      
      if (remainingMs > 0) {
        trace('$d days - $h:$m:$s');
      } else {
        trace('countdown expired!');
        timer.stop();
      }
    }
    return timer;
  }
}

猜你喜欢

转载自blog.csdn.net/keniv/article/details/88173255