第四百一十回


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

在这里插入图片描述

1. 概念介绍

我们在本章回中介绍的时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。在实际项目中会使用
时间戳来签名或者做加密。本章回中将详细介绍获取时间戳的方法。

2. 方法与细节

2.1 获取方法

获取时间戳的方法主要通过DataTime类实现,直接通过类中的成员就可以获取到,该类提供了两种类型时间戳:毫秒和微秒,详细如下:

  /// The number of milliseconds since
  /// the "Unix epoch" 1970-01-01T00:00:00Z (UTC).
  ///
  /// This value is independent of the time zone.
  ///
  /// This value is at most
  /// 8,640,000,000,000,000ms (100,000,000 days) from the Unix epoch.
  /// In other words: `millisecondsSinceEpoch.abs() <= 8640000000000000`.
  external int get millisecondsSinceEpoch;

  /// The number of microseconds since
  /// the "Unix epoch" 1970-01-01T00:00:00Z (UTC).
  ///
  /// This value is independent of the time zone.
  ///
  /// This value is at most
  /// 8,640,000,000,000,000,000us (100,000,000 days) from the Unix epoch.
  /// In other words: `microsecondsSinceEpoch.abs() <= 8640000000000000000`.
  ///
  /// Note that this value does not fit into 53 bits (the size of a IEEE double).
  /// A JavaScript number is not able to hold this value.
  external int get microsecondsSinceEpoch;

这是源代码中的内容,从中可以看出来它是一个十六位长度的数字,而且这个数字是基于当前时区的。

2.2 使用细节

正常的时间戳是以秒为单位的,我们获取到的是毫秒或者微秒,因此除以转换值就可以,比如毫秒1000可以转换成秒。我们获取到的时间戳是带时区的,如果不想在时间
戳中带时区,那么首先通过toUtc方法把时间转换成标准UTC时间,然后再从转换后的时间中获取时间戳。我们将在后面的小节中通过具体的代码来演示它的用法。

3. 示例代码

///获取带时区的时间戳
DateTime.now().millisecondsSinceEpoch;
///获取不带时区的时间戳
DateTime.now().toUtc().millisecondsSinceEpoch;

4. 内容总结

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

  • 使用DateTime类中的成员可以获取到时间戳;
  • 获取到的时间戳分毫秒级和微秒级两种类型;
  • 获取到的时间戳中带有时区信息;
    看官们,与"如何获取时间戳"相关的内容就介绍到这里,欢迎大家在评论区交流与讨论!

相关推荐

  1. 2024-03-19 15:54:02       20 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-19 15:54:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-19 15:54:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-19 15:54:02       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-19 15:54:02       20 阅读

热门阅读

  1. 创建存储过程,与存储过程调用

    2024-03-19 15:54:02       26 阅读
  2. linux命令学习之split 分割大文件 —— 筑梦之路

    2024-03-19 15:54:02       17 阅读
  3. 24计算机考研调剂 | 浙江科技大学

    2024-03-19 15:54:02       15 阅读
  4. 一文解读ISO26262安全标准:初步危害分析PHA

    2024-03-19 15:54:02       16 阅读
  5. 分享SQL的7种进阶用法

    2024-03-19 15:54:02       18 阅读
  6. codetop刷题笔记1——两数之和/iota/lambda表达式

    2024-03-19 15:54:02       20 阅读
  7. 【sql】初识 where EXISTS

    2024-03-19 15:54:02       21 阅读
  8. Bash Shell中单引号和双引号的区别详解

    2024-03-19 15:54:02       25 阅读
  9. Git速成

    Git速成

    2024-03-19 15:54:02      17 阅读
  10. openh264初探

    2024-03-19 15:54:02       15 阅读
  11. 工程化专栏目录

    2024-03-19 15:54:02       20 阅读