当前位置: 首页 > news >正文

AWTK fscript 中的 日期时间 扩展函数

fscript 是 AWTK 内置的脚本引擎,开发者可以在 UI XML 文件中直接嵌入 fscript 脚本,提高开发效率。本文介绍一下 fscript 中的 ** 日期时间扩展函数 **

1.date_time_create

创建日期对象。


原型
date_time_create() => object

日期对象有下列属性:

  • year 年 (可读写)
  • month 月 (可读写)
  • day 日 (可读写)
  • hour 时 (可读写)
  • minute 分 (可读写)
  • second 秒 (可读写)
  • wday 周几 (可只读)
示例
var dt = date_time_create();
print(dt.year, "-", dt.month, "-", dt.day, " ", dt.hour, ":", dt.minute, ":", dt.second, "(", dt.wday, ")");

2.date_time_to_time

转成相对于 00:00:00 UTC on 1 January 1970 的秒数。


原型
date_time_to_time(dt) => uint64_t
示例
var dt = date_time_create();
var time = date_time_to_time(dt);

3.date_time_from_time

将相对于 00:00:00 UTC on 1 January 1970 的秒数转成成 date time。


原型
date_time_from_time(dt, time) => bool
示例
var dt = date_time_create();
var time = date_time_to_time(dt);
assert(date_time_from_time(dt, time));

4.date_time_set

把 date time 中的时间设置为系统时间。


原型
date_time_set(dt) => bool

需要有设置系统时间的权限。

示例
var dt = date_time_create();
dt.year = 2022;
dt.month = 10;
dt.day = 1;
dt.hour = 2;
dt.minute = 3;
dt.second = 4;
assert(date_time_set(dt));

5.time_now/time_now_s

获取当前时间戳函数 (s)。


原型
time_now()  => uint64_t
time_now_s()  => uint64_t
示例
var a = time_now();
var b = time_now_s();

6.time_now_ms

获取当前时间戳函数 (ms)。


原型
time_now_ms()  => uint64_t
示例
var a = time_now_ms();

7.time_now_us

获取当前时间戳函数 (us)。


原型
time_now_us() => uint64_t
示例
var a = time_now_us();

8.is_leap_year

判断指定年份是否是闰年。


原型
is_leap_year(year) => bool
示例
var dt = date_time_create();
print(is_leap_year(dt.year));

9.get_days_of_month

获取指定年月的天数。


原型
get_days_of_month(year, month) => uint32_t
示例
var dt = date_time_create();
print(get_days_of_month(dt.year, dt.month));

10.date_time_set_prop

设置日期对象中的属性。


原型
date_time_set_prop(dt, name, value) => bool
示例
var dt = date_time_create();
date_time_set_prop(dt, "year", 2012);

11.date_time_get_prop

获取日期对象中的属性。


原型
date_time_get_prop(dt, name) => value
示例
var dt = date_time_create();
var year = date_time_get_prop(dt, "year");

12.date_time_format

格式化日期对象为字符串。


格式规则:

  • Y 代表年(完整显示)
  • M 代表月(1-12)
  • D 代表日(1-31)
  • h 代表时(0-23)
  • H 代表时(0-11)
  • m 代表分(0-59)
  • s 代表秒(0-59)
  • YY 代表年(只显示末两位)
  • MM 代表月(01-12)
  • DD 代表日(01-31)
  • hh 代表时(00-23)
  • HH 代表时(00-11)
  • mm 代表分(00-59)
  • ss 代表秒(00-59)
原型
date_time_format(dt, format) => str
date_time_format(epoch_time, format) => str
示例
print(date_time_format(0, "Y-M-D h:m:s")); // => "1970-1-1 0:0:0"
print(date_time_format(0, "YY-MM-DD hh:mm:ss")); // => "70-01-01 00:00:00"

更多示例

var dt = date_time_create()
print(dt.year, "-", dt.month, "-", dt.day, " ", dt.hour, ":", dt.minute, ":", dt.second, "(", dt.wday, ")")dt.year = 2022
dt.month = 10
dt.day = 1
dt.hour = 2
dt.minute = 3
dt.second = 4
assert(dt.year == 2022)
assert(dt.month == 10)
assert(dt.day == 1)
assert(dt.hour == 2)
assert(dt.minute == 3)
assert(dt.second == 4)
print(dt.year, "-", dt.month, "-", dt.day, " ", dt.hour, ":", dt.minute, ":", dt.second, "(", dt.wday, ")")assert(date_time_to_time(dt) == 1664560984)
assert(date_time_from_time(dt, 1664560985))assert(dt.year == 2022)
assert(dt.month == 10)
assert(dt.day == 1)
assert(dt.hour == 2)
assert(dt.minute == 3)
assert(dt.second == 5)print(time_now_us())
print(time_now_ms())
print(time_now_s())

http://www.mrgr.cn/news/69081.html

相关文章:

  • uniapp ios app以framwork形式接入sentry
  • 【AI大模型】大型语言模型LLM基础概览:技术原理、发展历程与未来展望
  • 自定义call方法和apply方法
  • Tensorflow基本概念
  • 微信小程序navigateTo:fail webview count limit exceed
  • 【MyBatis操作数据库】XML配置
  • 2024年软件设计师中级(软考中级)详细笔记【12】软件系统分析与设计
  • mysql备份数据库及恢复
  • 【LeetCode】每日一题 2024_11_9 设计相邻元素求和服务(构造,哈希)
  • RHCE的学习(14)
  • 2024-11-2025-03 - 通用人工智能技术 - 问卷调研 - 软考 - 流雨声
  • 域名+服务器+Nginx+宝塔使用SSL证书配置HTTPS
  • PostgreSQL 之递归查询
  • 如何在微服务架构中优化微信 Access Token 管理:解决频率限制与过期问题的最佳实践
  • SpringBoot2~~~
  • WOA-RF|鲸鱼算法-随机森林-回归-降维|多变量特征筛选降维-回归预测|Matlab
  • JAVA开源项目 服装销售平台 计算机毕业设计
  • 嵌入式linux中gpio子系统的开发与实现
  • 2024年最新互联网大厂精选 Java 面试真题集锦(JVM、多线程、MQ、MyBatis、MySQL、Redis、微服务、分布式、ES、设计模式)
  • 丹摩征文活动 |【AI落地应用实战】文本生成语音Parler-TTS + DAMODEL复现指南
  • 什么是上拉和下拉
  • 弄巧成拙的 PFC(Priority-based Flow Control)
  • SpringBoot框架:共享汽车行业的技术升级
  • 腾讯云双十一程序员的「采购单拼团攻略」
  • 进程相关内容
  • (done) gdb 在系统编程中的调试技巧