supOS APP开发者课程练习册

news/2024/11/28 11:40:26/

4、在功能集合下创建“时间转换”,别名“DateFormat”,在该功能集合中创建服务,信息如下:

服务名称:功能集合:日期格式转换

服务别名:DateFormat

服务参数:dt(类型:STRING)、type(类型:STRING)

点击对象模型管理-功能集合,选择功能集合,新增功能集合,输入服务名称,别名,参数

服务脚本:

/*用于时间格式化

  dt是一个日期

  type是要返回类型

  type:utc 返回一个utc的长整型时间

  type:utc+8 返回一个晚utc的长整型时间

  type:long 返回一个2022-01-01 08:00:00格式的时间

  type:long+8 返回一个2022-01-01 08:00:00加8个小时的时间

  type:short 返回一个2022-01-01格式的时间

  type:short +8 返回一个加8个小时后的短日期

  type:time 返回一个不带日期的时间

  type:time 返回一个不带日期且多加8个小时的时间

*/var result;var dt = new Date(dt);switch (type) {

    case 'utc':

        result = getUtcDate();

        break;

    case 'utc+8':

        result =  getUtc_8Date();

        break;

    case 'long':

        result =  getLongDate();

        break;

    case 'long+8':

        result =  getLong8Date();

        break;

    case 'short':

        result =  getShortDate();

        break;

    case 'short+8':

        result =  getShort8Date();

        break;

    case 'time':

        result =  getTime();

        break;

    case 'time+8':

        result =  get8Time();

        break;

}

result;

function getUtcDate() {

    var d = dt.toISOString();

    return d.split('.')[0]+'Z';

}

function getUtc_8Date() {

    var newDt = new Date(dt.valueOf() + 8*60*60*1000);

    var d = newDt.toISOString();

     return d.split('.')[0]+'Z';

}

function getLongDate(){

    var d = dt;

    var year = d.getFullYear();

    var month = (d.getMonth() + 1) < 10 ? '0' + (d.getMonth() + 1) : (d.getMonth() + 1);

    var day = d.getDate() < 10 ? '0' + d.getDate() : d.getDate();

    var hh = d.getHours() < 10 ? "0" + d.getHours() : d.getHours();

    var mm = d.getMinutes() < 10 ? "0" + d.getMinutes() : d.getMinutes();

    var ss = d.getSeconds() < 10 ? "0" + d.getSeconds() : d.getSeconds();

    return year + "-" + month + "-" + day + " " + hh + ":" + mm + ":" + ss;

}

function getLong8Date(){

    d = new Date(dt.valueOf() + 8 * 60 * 60 * 1000);

    var year = d.getFullYear();

    var month = (d.getMonth() + 1) < 10 ? '0' + (d.getMonth() + 1) : (d.getMonth() + 1);

    var day = d.getDate() < 10 ? '0' + d.getDate() : d.getDate();

    var hh = d.getHours() < 10 ? "0" + d.getHours() : d.getHours();

    var mm = d.getMinutes() < 10 ? "0" + d.getMinutes() : d.getMinutes();

    var ss = d.getSeconds() < 10 ? "0" + d.getSeconds() : d.getSeconds();

    return year + "-" + month + "-" + day + " " + hh + ":" + mm + ":" + ss;

}

function getShortDate(){

    var year = dt.getFullYear();

    var month = (dt.getMonth() + 1) < 10 ? '0' + (dt.getMonth() + 1) : (dt.getMonth() + 1);

    var day = dt.getDate() < 10 ? '0' + dt.getDate() : dt.getDate();

    return year + "-" + month + "-" + day;

}

function getShort8Date(){

    d = new Date(dt.valueOf() + 8 * 60 * 60 * 1000);

    var year = d.getFullYear();

    var month = (d.getMonth() + 1) < 10 ? '0' + (d.getMonth() + 1) : (d.getMonth() + 1);

    var day = d.getDate() < 10 ? '0' + d.getDate() : d.getDate();

    return year + "-" + month + "-" + day;

}

function getTime(){

    var d = dt;

    var hh = d.getHours() < 10 ? "0" + d.getHours() : d.getHours();

    var mm = d.getMinutes() < 10 ? "0" + d.getMinutes() : d.getMinutes();

    var ss = d.getSeconds() < 10 ? "0" + d.getSeconds() : d.getSeconds();

    return  hh + ":" + mm + ":" + ss;

}

function get8Time(){

    d = new Date(dt.valueOf() + 8 * 60 * 60 * 1000);

    var hh = d.getHours() < 10 ? "0" + d.getHours() : d.getHours();

    var mm = d.getMinutes() < 10 ? "0" + d.getMinutes() : d.getMinutes();

    var ss = d.getSeconds() < 10 ? "0" + d.getSeconds() : d.getSeconds();

    return  hh + ":" + mm + ":" + ss;

}


http://www.ppmy.cn/news/1675.html

相关文章

C#悬浮窗口 图像背景

一 悬浮窗口 特点&#xff1a; ① 窗口一般较小&#xff0c;有时为不规则背景&#xff1b; ② 置顶显示&#xff1b; ③ 窗口支持拖动&#xff1b; ④ 一般用于程序状态显示&#xff0c;比如显示下载进度&#xff1b; ⑤ 一般支持右键菜单、拖拽操作等&#xff1b; 二 创建悬…

每日一题:斐波那契数列

每日一题&#xff1a;斐波那契数列 我们先来看一下斐波那契数列的定义&#xff1a; 斐波那契数列&#xff08;Fibonacci sequence&#xff09;&#xff0c;又称黄金分割数列&#xff0c;因数学家莱昂纳多斐波那契&#xff08;Leonardo Fibonacci&#xff09;以兔子繁殖为例子而…

多线程 3

多线程 3 : 文章目录1.线程安全2. 产生线程安全的原因3. synchronized - 加锁操作4.可重入5.死锁问题6. volatile 关键字7.wait 和 notify1.线程安全 为啥会出现线程安全 &#xff1f;   罪魁祸首&#xff0c;还是多线程的抢占式执行&#xff0c; 正因为抢占式执行&#xff0c…

推荐一款语音识别软件

一、简介 使用接口转换需要输入的语音为文字。 给大家带来一款语音识别软件&#xff0c;想做智能识别语音设备或者想给项目增加功能的同学可以看下 这款软件是使用python写的&#xff0c;其实开发语言无所谓用其他语言也可以写 代码还是挺简单的。 这款软件主要使用接口完成识…

cubeIDE开发,结合汉字取模工具,在LCD输出各种字体

一、汉字取模工具 嵌入式LCD屏显示无非就是不间断刷新LCD宽度*LCD高度的像素矩阵&#xff0c;并为每个像素指定特定颜色。对于LCD屏幕显示汉字&#xff0c;无非就是将字体形状转换为字体宽度*字体高度的像素矩阵&#xff0c;及指定每个字体像素的颜色&#xff0c;然后在LCD屏幕…

应用 Serverless 化,让业务开发心无旁骛

我们希望让用户做得更少而收获更多&#xff0c;通过Serverless化&#xff0c;用云就像用电一样简单。”张建锋表示&#xff0c;Serverless 让云计算从一种资源真正变成一种能力&#xff0c;未来云将全面 Serverless 化&#xff0c;更加接近“电网”模式&#xff0c;按计算的调用…

蚂蚁面试官:Zookeeper 的选举流程是怎样的?我当场懵逼了

​ 编辑切换为居中 添加图片注释&#xff0c;不超过 140 字&#xff08;可选&#xff09; 面试经常会遇到面试官问 Zookeeper 的选举原理&#xff0c;我心想&#xff0c;问这些有啥用吗&#xff1f;又不要我造火箭&#xff01; 每次面试也只知道个大概&#xff0c;并没有深究…

股市资讯天宇优配|政策利好叠加竞争格局向好 机构做多建材板块

近来&#xff0c;受房地产板块上涨带动&#xff0c;建材板块也敞开一轮反弹行情&#xff0c;东方雨虹、三棵树、科顺股份等体现抢眼。在组织看来&#xff0c;房地产职业近期利好政策频出&#xff0c;商场对建材职业后期需求的忧虑将会消解。另一方面&#xff0c;在过去一年多的…