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;
}
}