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

鸿蒙进阶篇-Math、Date

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

各位小伙伴们我们又见面了,我就是鸿蒙开天组,下面让我们进入今天的学习,鸿蒙进阶篇-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.kler.cn/a/397303.html

相关文章:

  • VSCode设置
  • 单元测试、集成测试、系统测试、验收测试、压力测试、性能测试、安全性测试、兼容性测试、回归测试(超详细的分类介绍及教学)
  • 实用且免费的 IP 地域查询 API 接口推荐
  • SpringBoot - Async异步处理
  • ElasticSearch-全文检索(一)基本介绍
  • Queuing 表(buffer表)的优化实践 | OceanBase 性能优化实践
  • Redis设计与实现第9章 -- 数据库 总结(键空间 过期策略 过期键的影响)
  • DDRPHY数字IC后端设计实现系列专题之数字后端floorplanpowerplan设计
  • 【循环测试试题2】小X与三次方
  • 如何实现一个既保证顺序又有快速插入删除的数据结构?
  • 蚂蚁金服-OceanBase-测试开发工程师-面经
  • 计算机网络:运输层 —— TCP 的 “三次握手” 与 “四次挥手”
  • 集群策略选择vs生产需求点(负载/可用性、灾备/安全性)
  • sqli—labs靶场 5-8关 (每日4关练习)持续更新!!!
  • 康谋分享 | 确保AD/ADAS系统的安全:避免数据泛滥的关键
  • 网络安全:数字时代的守护盾
  • # ubuntu 安装的pycharm不能输入中文的解决方法
  • 基于的图的异常检测算法OddBall
  • 浅谈Java之简单算法
  • 从零到一:利用 AI 开发 iOS App 《震感》的编程之旅
  • 通过SpannableString设置超链接、颜色、字体
  • 处理namespace问题:Namespace not specified for AGP 8.0.0
  • STM32模拟鼠标绝对坐标的设置
  • 数据仓库在大数据处理中的作用
  • <tauri><websocket>tauri集成web端使用websocket实现数据通讯
  • [Docker#8] 容器配置 | Mysql | Redis | C++ | 资源控制 | 命令对比