第三百五十二回

文章目录

  • 1. 概念介绍
  • 2. 获取方法
  • 3. 示例代码
  • 4. 对比与总结
    • 4.1 横向对比
    • 4.2 内容总结

我们在上一章回中介绍了"如何获取当前系统语言"相关的内容,本章回中将介绍如何获取当前时区.闲话休提,让我们一起Talk Flutter吧。

在这里插入图片描述

1. 概念介绍

我们使用的北京时间也叫CST,不过它不是国际标准时间,国际标准时间为UTC,我们国家位于东八区,因此也用UTC+8来表示北京时间。不过这种表示方式有时候不够直
观,需要我们查阅时区后才能知道。我们在本章回中介绍的时区主要是时区的标志,比如我们常用的北京时间的时区标志是Asia/Shanghai,从名字上就能直观地看到当
前时区所处于的地理位置。本章回中将介绍如何获取这种时区标志。

2. 获取方法

我们可以使用dart中的DateTime类来获取时区,具体代码为:DateTime.now().timeZoneName,不它获取到的是cst,utc这样的时区,而不是我们想的带有城市
名称的时区标志。我查阅了DateTime类的所有接口,没有找到可以获取到时区标志的方法。于是只好在pub中查找,功夫不负有心人,终于找到了一个可以获取时区标志
的三方包:flutter_timezone,通过包中的getLocalTimezone()方法可以获取当前的时区标志。

3. 示例代码

var timeZone = FlutterTimezone.getLocalTimezone().then((value){debugPrint("future timeZone: ${value.toString()}");
});void getTimeZone () async {///获取时区,输出:async timeZone: Asia/Shanghaivar value = await FlutterTimezone.getLocalTimezone();debugPrint("async timeZone: ${value.toString()}");
}

我们在上面的示例代码中演示了两种获取时区标志的方法,它们都使用了异步的方法去获取到时区标志,只是表现形式不同而已。

4. 对比与总结

4.1 横向对比

与Java中的时间类相比,dart中的时间类功能比较少,比如本章回中获取时区标志还需要借助三方包来实现。其实在Java8之前的时间类也不是很好用,直到Java8才
对时间类有了比较大的更新。我预测dart在未来的版本中还会对时间类做更新。此外,我们虽然通过三方包获取到时区标志了,但是需要通过异步的方式来获取,我感觉
时区完全可以通过当前时间计算出来,为什么要做成异步的机制?使用起来十分不方便,对比一下Java中的时间类,可以直接获取到时区标记。

4.2 内容总结

最后,我们对本章回中的内容做一个全面的总结:

  • 使用DateTiem类可以获取到时区名称,比如utc,cst;
  • 使用三方包flutter_timezone可以获取时区标志;
  • 获取时间标志时需要使用异步的方式,不然无法获取到时区标志;
    看官们,与"如何获取当前时区"相关的内容就介绍到这里,欢迎大家在评论区交流与讨论!

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第三百五十三回

文章目录 1. 概念介绍2. 使用方法2.1 获取所有时区2.2 转换时区时间 3. 示例代码4. 内容总结 我们在上一章回中介绍了"分享一些好的Flutter站点"相关的内容,本章回中将介绍timezone包.闲话休提,让我们一起Talk Flutter吧。 1. 概念介绍 我们在…

【PX4-AutoPilot教程-源码】移植PX4固件到自制NuttX操作系统飞控板的方法

移植PX4固件到自制NuttX操作系统飞控板的方法 找到使用相同(或型号相似)CPU类型的现有目标并进行复制飞控板的配置文件夹结构firmware.prototype文件default.px4board文件bootloader.px4board文件nuttx-config/bootloader/defconfig文件nuttx-config/nsh…

阿莱(ARRI)MOV变0字节恢复案例

阿莱(ARRI)是专业级的影视产品软硬件供应商,很多大片都是使用ARRI的设备拍摄出来的。之前我们处理过阿莱的MXF和MOV等文件,今天要说的案例是ARRI的MOV,还是之前熟悉的EXFAT文件系统然后长度突然变0字节的问题。 故障存储:16T/MS Exfat文件系…

如何在Linux系统中配置并优化硬盘的RAID

在Linux系统中配置和优化硬盘的RAID技术可以帮助提高数据存储性能和安全性。RAID(Redundant Array of Independent Disks)技术通过将多个硬盘组合起来,以增加性能、容量或冗余度,提高数据的可靠性和可用性。本文将介绍如何在Linux…

Days 34 ElfBoard 音频接口

音频接口介绍 音频模块采用了 NAU88C22 芯片,芯片数据信号使用 I2S 接口进行通讯,主要信号功能: SAI_MCLK:音频信号主时钟; SAI_BCLK:音频信号位时钟; SAI_SYNC:左右声道控制信号&am…

综合练习

目录 查询每个员工的编号、姓名、职位、基本工资、部门名称、部门位置 确定要使用的数据表 确定已知的关联字段 查询每个员工的编号、姓名、职位、基本工资、工资等级 确定要使用的数据表 确定已知的关联字段 查询每个员工的编号、姓名、职位、基本工资、部门名称、工资…

用Boule绘制地球重力场

文章目录 参考椭球标准重力重力地图 参考椭球 boule中定义了多种参考椭球,可用于表示地球、火星等星体的重力分布。可通过pip安装 pip install boule安装完成后可直接调用 import boule as blboule中已经定义的椭球如下 椭球星体GRS80地球WGS84地球MARS火星MERC…

linux内核模块module_put()函数详解--03

对应module_put()函数详细用法分享。 第一:函数简介 //函数原型 void module_put(struct module * module) //函数功能 该函数功能是将一个特定模块module的引用计数减一 这样当一个模块的引用计数不为0而不能被内核卸载的 时候,可以调用该函数一次或多…

【嵌入式学习】IO网络接口day02.18

1.使用fgets统计给定文件的行数 #include <stdio.h> #include <stdlib.h> #include <string.h> int main(int argc, const char *argv[]) {FILE *fpNULL;if((fpfopen("./test1.txt","r"))NULL){perror("错误信息");return -1…

springboot197基于springboot的毕业设计系统的开发

简介 【毕设源码推荐 javaweb 项目】基于springbootvue 的毕业设计系统的开发 适用于计算机类毕业设计&#xff0c;课程设计参考与学习用途。仅供学习参考&#xff0c; 不得用于商业或者非法用途&#xff0c;否则&#xff0c;一切后果请用户自负。 看运行截图看 第五章 第四章 …

Java六种常用线程创建执行方法

目录 方法一&#xff1a;继承Thread类方法二&#xff1a;实现Runnable接口方法三&#xff1a;实现Callable接口方法四&#xff1a;ThreadPoolExecutor执行Runnable任务方法五&#xff1a;ThreadPoolExecutor执行Callable任务方法六&#xff1a;Executors工具类实现线程池 方法一…

【数据结构】12 堆栈应用:表达式求值

表达式类型 后缀表达式 有一个常量表达式的中缀表达式为&#xff1a;5 6 / 2 - 3 * 4&#xff0c;其后缀形式表示为&#xff1a; 5 6 2 / 3 4 -。后缀表达式的特点是运算符位于两个预算数之后。其前缀表达式为&#xff1a; - 5 / 6 2 3 4。 后缀表达式相比于中缀表达式的…