| Name | Type | Default | Description |
|---|---|---|---|
timeCallback |
CallbackString |
null
|
optional
时间信息的函数回调。 |
Properties:
| Name | Type | Description |
|---|---|---|
callback |
function | 静态回调函数属性,用于接收时间更新通知。 |
Example:
// 创建时间控制器实例并传入回调函数
var time = new CooWasm.Time((timeString) => {
console.log("time:", timeString);
});
// 或者使用静态方式设置回调:
CooWasm.Time.callback = (timeString) => {
console.log("time:", timeString);
};
var time = new CooWasm.Time();
// 静态方法使用示例:
CooWasm.Time.setTimeScale(2.0); // 设置时间倍率
CooWasm.Time.setTimeZone(8); // 设置时区
CooWasm.Time.setTime(new Date()); // 设置时间
CooWasm.Time.setTimeInterval(CooWasm.EnumTimeIntervalType.SECOND); // 设置回调间隔
CooWasm.Time.pause(); // 暂停时间
CooWasm.Time.resume(); // 继续时间
CooWasm.Time.reset(); // 重置时间
var currentTime = CooWasm.Time.getTime(); // 获取当前时间
Demo:
Methods
获取当前时间。
| Name | Type | Default | Description |
|---|---|---|---|
format |
String |
'date'
|
optional
返回时间的格式。 'date':返回JavaScript Date对象(默认)。 'timestamp':返回毫秒时间戳。 'rfc1123':返回RFC1123格式字符串。 'iso':返回ISO8601格式字符串。 |
Returns:
根据format参数返回不同格式的时间。
Example:
// 获取Date对象
var date = CooWasm.Time.getTime();
var date = CooWasm.Time.getTime('date');
// 获取时间戳
var timestamp = CooWasm.Time.getTime('timestamp');
// 获取RFC1123格式字符串
var rfc1123 = CooWasm.Time.getTime('rfc1123');
// 获取ISO格式字符串
var iso = CooWasm.Time.getTime('iso');
获取时间回调的间隔。
Returns:
时间回调的间隔,单位:秒。小于0为不触发回调,0为每帧触发回调
暂停时间播放。
Example:
// 暂停时间播放
CooWasm.Time.pause();
重置时间控制器到初始状态。
Example:
// 重置时间控制器
CooWasm.Time.reset();
恢复时间播放。
Example:
// 恢复时间播放
CooWasm.Time.resume();
设置当前时间。
| Name | Type | Default | Description |
|---|---|---|---|
timeValue |
Date | Number | String |
要设置的时间值。 Date对象:JavaScript Date对象。 数字:时间戳(毫秒或秒,自动识别)。 字符串:各种时间格式字符串,包括RFC1123、ISO8601等。 |
|
preserveTimezone |
Boolean |
true
|
optional
是否保持当前设置的时区。为true时,会将输入时间 按照当前时区进行调整;为false时,直接使用输入时间的时区信息。 |
Example:
// 使用Date对象设置时间(保持当前时区)
CooWasm.Time.setTime(new Date());
// 使用时间戳设置时间
CooWasm.Time.setTime(1640995200000); // 毫秒时间戳
CooWasm.Time.setTime(1640995200); // 秒时间戳
// 使用字符串设置时间(自动应用当前时区)
CooWasm.Time.setTime("2022-01-01 12:00:00");
// 直接使用带时区信息的字符串(不调整时区)
CooWasm.Time.setTime("Sat, 01 Jan 2022 12:00:00 GMT", false);
设置时间回调的间隔。
| Name | Type | Description |
|---|---|---|
second |
Number |
间隔时间,单位:秒。小于0为不触发回调,0为每帧触发回调 |
Example:
// 设置每秒触发一次时间回调
CooWasm.Time.setTimeInterval(1);
// 设置不触发回调
CooWasm.Time.setTimeInterval(-1);
// 每帧触发回调
CooWasm.Time.setTimeInterval(0);
设置时间播放的倍率。
| Name | Type | Description |
|---|---|---|
scale |
Number |
时间倍率。例如:1.0为正常速度,2.0为双倍速度,0.5为半倍速度。 |
Example:
// 设置双倍速播放
CooWasm.Time.setTimeScale(2.0);
// 设置半倍速播放
CooWasm.Time.setTimeScale(0.5);
设置时区偏移量。
| Name | Type | Description |
|---|---|---|
timezone |
Number | String |
时区偏移量或时区字符串。 数字:相对于UTC的小时偏移量,例如8表示UTC+8,-5表示UTC-5。 字符串:支持多种格式如"GMT+8"、"UTC-5:30"、"+08:00"、"+0800"等。 |
Example:
// 设置东八区(北京时间)
CooWasm.Time.setTimeZone(8);
// 使用字符串格式设置时区
CooWasm.Time.setTimeZone("GMT+8");
CooWasm.Time.setTimeZone("UTC-5:30");
CooWasm.Time.setTimeZone("+08:00");