鸿蒙进阶篇-Math、Date

news2025/1/12 1:49:52

“在科技的浪潮中,鸿蒙操作系统宛如一颗璀璨的新星,引领着创新的方向。作为鸿蒙开天组,今天我们将一同踏上鸿蒙基础的探索之旅,为您揭开这一神奇系统的神秘面纱。”

各位小伙伴们我们又见面了,我就是鸿蒙开天组,下面让我们进入今天的学习,鸿蒙进阶篇-Math、Date

在鸿蒙开发中:


Math 是一个提供数学运算相关功能的类。它包含了众多的静态方法,用于执行常见的数学计算,比如求绝对值、幂运算、三角函数计算、取整等。例如,Math.abs() 用于获取数值的绝对值,Math.pow() 用于进行幂运算。


Date 用于处理日期和时间。可以创建 Date 对象来获取当前的日期和时间,或者指定特定的日期时间。通过 Date 对象的方法和属性,可以获取年、月、日、小时、分钟、秒等详细信息,也能够进行日期时间的比较、计算时间差等操作。在鸿蒙中,对日期时间的处理有助于实现各种与时间相关的功能,如定时提醒、记录操作的时间等。

常用内置对象


Math 对象
是一个内置对象,它拥有一些数学常数属性和数学函数方法。Math 的所有属性与方法都是静态的,使用的时候直接通过Math点出来即可
附上官方文档链接icon-default.png?t=O83Ahttps://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Math

常用属性


Math.pi
圆周率,一个圆的周长和直径之比,约等于 3.14159。

常用方法

方法

说明

Math.random()

返回一个 0 到 1 之间的伪随机数。

Math.ceil(x)

返回大于一个数的最小整数,即一个数向上取整后的值。

Math.floor(x)

返回小于一个数的最大整数,即一个数向下取整后的值。

Math.round(x)

返回四舍五入后的整数。

Math.abs(x)

返回一个数的绝对值

Math.max([x[,y[, …]]])

返回零到多个数值中最大值。

Math.min([x[,y[, …]]])

返回零到多个数值中最小值。

下面展示一个案例来理解:

const numA: number = 1.5
console.log(Math.ceil(numA) + '') // 向上取整 2
console.log(Math.floor(numA) + '') // 向下取整 1
console.log(Math.round(numA) + '') // 四舍五入 2

const numB: number = -9
console.log(Math.abs(numB) + '') // 绝对值 9

const numList: number[] = [13, 2, 31, 42, 15, 56, 27, 28]
const max: number = Math.max(...numList)
const min: number = Math.min(...numList)
console.log('max:', max) // 最大值
console.log('min:', min) // 最小值

// 0-1 取得到0,取不到 1
console.log(Math.random() + '')

// 返回 0-n的随机数的函数
function getRandomArbitrary(max: number): number {
  return Math.floor(Math.random() * (max + 1))
}

// 返回 min-max 的随机数的函数
function getRandomIntInclusive(min: number, max: number): number {
  return Math.floor(Math.random() * (max - min + 1)) + min; //含最大值,含最小值
}

@Entry
@Component
struct Example01 {
  build() {
    Column() {
      Column() {
        Column() {
        }
        .margin(10)

      }.width(250)
      .height(500)
      .backgroundColor('#eee')
      .border({ width: 2, color: 'green', style: BorderStyle.Solid })

    }.width('100%')
  }
}

Date 对象


ArkTS 中另外一个常用的内置对象 Date,他可以用来创建、解析、操作日期和时间。
附上官方文档链接icon-default.png?t=O83Ahttps://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Date
附上官方文档链接icon-default.png?t=O83Ahttps://www.baidufe.com/fehelper/timestamp/index.html
使用 Date 对象首先需要通过 new 操作符进行实例化

下面展示一个案例来理解:

// 获取当前日期
const date1: Date = new Date()

// 获取指定日期
// ISO 8601 格式(YYYY-MM-DDTHH:mm:ss.ssZ)中间用 T 分隔
const date2: Date = new Date('1995-01-01T01:11:00')
// Unix时间戳 是指从1970年1月1日(UTC)开始到现在经历的时间(毫秒)
const date3: Date = new Date(1706170405708)
 
console.log('date1', date1)
console.log('date2', date2)
console.log('date3', date3)

@Entry
@Component
struct Example01 {
  build() {
    Column() {
      Column() {
        Column() {
        }
        .margin(10)

      }.width(250)
      .height(500)
      .backgroundColor('#eee')
      .border({ width: 2, color: 'green', style: BorderStyle.Solid })

    }.width('100%')
  }
}

常用方法
实例方法

方法名

作用

说明

getFullYear

获取年份

4 位数年份

getMonth

获取月份

取值 0-11

getDate

获取日期

月份中的日期

getHours

获取小时

getMinutes

获取分钟

getSeconds

获取秒

getDay

获取星期

静态方法

方法名

作用

说明

now

获取当前时间

时间戳

// 大伙执行的时候 即可获取到时间戳啦~ console.log(Date.now()+'')

String


String 提供了不少的方法让我们来处理字符,咱们来看几个常用的
附上官方文档链接icon-default.png?t=O83Ahttps://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/String

split(分隔)


split() 方法根据传入的内容将字符串分隔为数组

字符串.split(分隔符)// 返回切割之后的数组

trim(去空格)


trim方法会从字符串的两端移除空白字符,并返回一个【新的字符串】,而不会修改原始字符串。

字符串.trim()// 返回去除空格之后的字符串

toLowerCase(转小写) 和 toUpperCase(转大写)


toLowerCase() 方法将该字符串转换为小写形式。toUpperCase() 方法将该字符串转换为大写形式。

字符串.toLowerCase()// 返回转为小写之后的字符串 字符串.toUpperCase()// 返回转为大写之后的字符串

includes(判断是否存在)


includes() 方法执行区分大小写的搜索,以确定是否可以在一个字符串中找到另一个字符串,并根据情况返回 true 或 false。

字符串.includes(查询的字符串)// 返回判断结果 true / false

slice(提取)


slice方法提取字符串的一部分,并将其作为新字符串返回,而不修改原始字符串。

字符串.slice(起始索引)// 从起始索引切割到末尾 字符串.slice(起始索引,结束索引) // 从起始索引,切换到结束索引

以上是关于鸿蒙进阶篇-定时器、递归 综合的一些内容,方便大家学习,至此,关于鸿蒙进阶篇-Math、Date综合的内容就介绍到这里,愿您能学以致用,开发出精彩的鸿蒙应用!

以上内容仅供学习交流,如有违法或者侵权可以联系删除。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2244844.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

RAID存储技术 详解

RAID(Redundant Array of Independent Disks,独立磁盘冗余阵列)是一种将多个物理硬盘组合为一个逻辑存储单元的技术。它通过分布数据、冗余校验和容错能力,提高存储系统的性能、可靠性和容量利用率。 以下从底层原理和源代码层面…

MTK主板定制_联发科主板_MTK8766/MTK8768/MTK8788安卓主板方案

主流市场上的MTK主板通常采用联发科的多种芯片平台,如MT8766、MT6765、MT6762、MT8768和MT8788等。这些芯片基于64位Cortex-A73/A53架构,提供四核或八核配置,主频可达2.1GHz,赋予设备卓越的计算与处理能力。芯片采用12纳米制程工艺…

免费微调自己的大模型(llama-factory微调llama3.1-8b)

目录 1. 名词/工具解释2. 微调过程3. 总结 本文主要介绍通过llama-factory框架,使用Lora微调方法,微调meta开源的llama3.1-8b模型,平台使用的是趋动云GPU算力资源。 微调已经经过预训练的大模型目的是,通过调整模型参数和不断优化…

MySQL 中 InnoDB 支持的四种事务隔离级别名称,以及逐级之间的区别?

MySQL中的InnoDB存储引擎支持四种事务隔离级别,这些级别定义了事务在并发环境中的行为和相互之间的可见性。以下是这四种隔离级别的名称以及它们之间的区别: 读未提交(Read Uncommitted) 特点:这是最低的隔离级别&…

【YOLOv10改进[注意力]】引入并行分块注意力PPA(2024.3.16) + 适于微小目标

本文将进行在YOLOv10中引入并行分块注意力PPA魔改v10 的实践,文中含全部代码、详细修改方式。助您轻松理解改进的方法。 一 HCF 论文题目:Hierarchica

共建智能软件开发联合实验室,怿星科技助力东风柳汽加速智能化技术创新

11月14日,以“奋进70载,智创新纪元”为主题的2024东风柳汽第二届科技周在柳州盛大开幕,吸引了来自全国的汽车行业嘉宾、技术专家齐聚一堂,共襄盛举,一同探寻如何凭借 “新技术、新实力” 这一关键契机,为新…

在ubuntu下,使用Python画图,无法显示中文怎么解决

1.首先需要下载中文字体,推荐simsun,即宋体,地址如下 https://www.freefonts.io/download/simsun/ 2.下载完要把字体文件放进字体目录,具体方法如下; a.创建字体目录:sudo mkdir -p /usr/share/fonts/truet…

鸿蒙实战:使用显式Want启动Ability

文章目录 1. 实战概述2. 实现步骤2.1 创建鸿蒙应用项目2.2 修改Index.ets代码2.3 创建SecondAbility2.4 创建Second.ets 3. 测试效果4. 实战总结5. 拓展练习 - 启动文件管理器5.1 创建鸿蒙应用项目5.2 修改Index.ets代码5.3 测试应用运行效果 1. 实战概述 本实战详细阐述了在 …

《Python浪漫的烟花表白特效》

一、背景介绍 烟花象征着浪漫与激情,将它与表白结合在一起,会创造出别具一格的惊喜效果。使用Python的turtle模块,我们可以轻松绘制出动态的烟花特效,再配合文字表白,打造一段专属的浪漫体验。 接下来,让…

springboot中设计基于Redisson的分布式锁注解

如何使用AOP设计一个分布式锁注解&#xff1f; 1、在pom.xml中配置依赖 <dependency><groupId>org.springframework</groupId><artifactId>spring-aspects</artifactId><version>5.3.26</version></dependency><dependenc…

绕过CDN寻找真实IP

在新型涉网案件中&#xff0c;我们在搜集到目标主站之后常常需要获取对方网站的真实IP去进一步的信息搜集&#xff0c;但是现在网站大多都部署了CDN&#xff0c;将资源部署分发到边缘服务器&#xff0c;实现均衡负载&#xff0c;降低网络堵塞&#xff0c;让用户能够更快地访问自…

【Redis】redis缓存击穿,缓存雪崩,缓存穿透

一、什么是缓存&#xff1f; 缓存就是与数据交互中的缓冲区&#xff0c;它一般存储在内存中且读写效率高&#xff0c;提高响应时间提高并发性能&#xff0c;如果访问数据的话可以先访问缓存&#xff0c;避免数据查询直接操作数据库&#xff0c;造成后端压力过大。 但是可能会面…

linux复习5:C prog

编辑 缩排 为了使C源代码更加整洁易读&#xff0c;可以使用一些工具来自动格式化代码&#xff0c;例如cb&#xff08;C程序美化器&#xff09;、bcpp&#xff08;C美化器&#xff09;和indent等。 编译 编译并链接C文件 gcc hello.c -o hello 将 hello.c 编译并链接成可执行文…

uni-app快速入门(十)--常用内置组件(下)

本文介绍uni-app的textarea多行文本框组件、web-view组件、image图片组件、switch开关组件、audio音频组件、video视频组件。 一、textarea多行文本框组件 textarea组件在HTML 中相信大家非常熟悉&#xff0c;组件的官方介绍见&#xff1a; textarea | uni-app官网uni-app,un…

世界坐标系、相机坐标系、图像物理坐标系、像素平面坐标系

坐标系及其转换在计算机视觉领域占据核心地位。理解如何从一个坐标系转换到另一个坐标系&#xff0c;不仅是理论上的需要&#xff0c;也是实际应用中不可或缺的技能。 一、世界坐标系的定义 世界坐标系是一个全局的坐标系统&#xff0c;用于定义场景中物体的位置。在这个坐标…

机器学习笔记——聚类算法(Kmeans、GMM-使用EM优化)

本笔记介绍机器学习中常见的聚类算法&#xff08;Kmeans、GMM-使用EM优化&#xff09;。 文章目录 聚类K-Means工作原理特点 K-Medoids工作原理特点 Mini-Batch K-Means工作原理特点 K-Means&#xff08;重要&#xff09;工作原理特点 总结K的选值1. 肘部法则&#xff08;Elbow…

浅议Flink中的通讯工具: Akka

在Flink中&#xff0c;各个组件之间需要频繁交换数据和控制信息。Flink选择了基于Actor模型的Akka框架作为通信基础。 Akka是什么 Actor模型 Actor模型是用于单个进程中并发的场景。 在Actor模型中&#xff1a; ActorSystem负责管理actor生命周期 将每个实体视为独立的 Ac…

如何在react中使用react-monaco-editor渲染出一个编辑器

一、效果展示 二、基于vite配置 1.首先安装react-monaco-editor和monaco-editor包 npm add react-monaco-editor npm i monaco-editor 2.其次创建一个单独的文件&#xff08;此处是tsx、直接用app或者jsx也行&#xff09; import { useState, useEffect } from react impo…

孙玲:从流水线工人到谷歌程序员

这是《开发者说》的第24期&#xff0c;本期我们邀请的开发者是孙玲&#xff0c;她出生于湖南娄底一个贫穷的农村家庭&#xff0c;2009年高考落榜&#xff0c;她去了深圳一家电子厂&#xff0c;在流水线上给电池喷码&#xff0c;每天12个小时轮班&#xff0c;月薪2300&#xff0…

kali搭建pikachu靶场

前言&#xff1a; 总所周知搭个网站需要有apachemysqlphp&#xff0c;Apache是一个开源的Web服务器软件&#xff0c; MySQL是一种关系型数据库管理系统&#xff08;数据库&#xff09;&#xff0c;PHP是一种在服务器上执行的脚本语言 文章内容来自&#xff1a;【黑帽编程与攻…