如何使用 UTC 时区偏移格式化 DateTime?

2024-03-24

这是什么类型的日期格式?

2020-03-26T00:57:08.000+08:00

我在用着日期格式 https://api.flutter.dev/flutter/intl/DateFormat-class.html class

 DateTime dateTime = DateTime.now();

 print(dateTime.toIso8601String());
 print(dateTime.toLocal());
 print(dateTime.toUtc());

Output

I/flutter (20667): 2020-03-26T01:34:20.826589
I/flutter (20667): 2020-03-26 01:34:20.826589
I/flutter (20667): 2020-03-25 17:34:20.826589Z

我想要一个像我显示的第一个输出一样的日期格式,后面有+08:00。我应该使用哪个?


目前还没有直接的方法来获取这种日期格式。有一个解决方法。

  • Add the intl https://pub.dev/packages/intl package
  • 使用将其导入到您的文件中import 'package:intl/intl.dart';
  • 编写以下代码:
var dateTime = DateTime.now();
var val      = DateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS").format(dateTime);
var offset   = dateTime.timeZoneOffset;
var hours    = offset.inHours > 0 ? offset.inHours : 1; // For fixing divide by 0

if (!offset.isNegative) {
  val = val +
      "+" +
      offset.inHours.toString().padLeft(2, '0') +
      ":" +
      (offset.inMinutes % (hours * 60)).toString().padLeft(2, '0');
} else {
  val = val +
      "-" +
      (-offset.inHours).toString().padLeft(2, '0') +
      ":" +
      (offset.inMinutes % (hours * 60)).toString().padLeft(2, '0');
}
print(val);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 UTC 时区偏移格式化 DateTime? 的相关文章

随机推荐

  • 更改模型中的 Django 数据类型而不删除表

    我创建了一个 Django 应用程序 现在我想更改模型中 1 个数据库字段的字段类型 由于数据库中已有一些具有当前类型的记录 我猜想通过简单地在 models py 中更改它来更改类型是不可能的 通过谷歌搜索 我了解到可以通过 sql 控制
  • 如何使用淘汰赛映射插件添加新项目

    我正在尝试一个淘汰制图样本 我想我已经快完成了 我似乎无法向 viewModel foos 添加新的 Foo 谁能看到我在这里错过了什么 var Foo function data var self this self id data id
  • 通过 bash 使用 google 作为字典查找,如何获取第一个定义?

    bin bash Command line look up using Google s define feature command line dictionary echo Type in your word read word usr
  • Gradle 插件从插件 jar 复制文件

    我正在创建我的第一个 gradle 插件 我正在尝试将文件从分发 jar 复制到我在项目中创建的目录中 尽管该文件存在于 jar 内 但我无法将其复制到目录中 这是我的任务代码 import org gradle api DefaultTa
  • org.w3c.dom 包可以从多个模块访问:、java.xml

    我无法导入org w3c dom NodeList打包到 Eclipse 它正在显示 org w3c dom 包可以从多个模块访问
  • 无法同时满足键盘和 UIToolBar 的约束

    我有表格视图 下面有文本视图 我在键盘上方添加一个工具栏以显示 完成 按钮 当我点击一行中的按钮来删除该行时 它会显示 LayoutConstraints 问题 如下所示 下面的日志还显示了事件的流程 我可以确认这个问题与工具栏有关 如果我
  • 列出以前删除的重新创建的相册名称

    背景 我想列出我的帐户中与给定名称匹配的所有相册 Problem 删除相册后 然后重新创建一个具有完全相同名称的相册 代码为 albumQuery gt setAlbumName 即使相册已成功创建 查找相册名称也会失败并返回 404 下面
  • 从复杂(混合)句子中提取简单句子的算法?

    有没有一种算法可以用来从段落中提取简单的句子 我的最终目标是稍后对生成的简单句子运行另一个算法来确定作者的情绪 我已经从 Chae Deug Park 等来源对此进行了研究 但没有讨论准备简单的句子作为训练数据 提前致谢 看一眼Apache
  • npm cordova 警告引擎窗口

    我正在尝试通过命令行安装 cordova 我收到此错误 npm WARN engine email protected cdn cgi l email protection wanted node gt 0 6 npm 1 current
  • 我可以将不同类型的参数传递给 Android 中的 AsyncTask 吗?

    我想实现一个通用的线程保存类 它采用 ImageView 的 RessourceId 和存储所需图像文件的 Url http 它将下载图像并填充 UiThread 中 ImageView 的 src 我想异步任务 http develope
  • 从 phpMyAdmin 更改 mysql 时区

    我正在尝试更改数据库的时区 我在共享服务器数据库支持人员不能只为我更改它 当前时区是 1 00我想要它作为 05 30 我搜索并尝试遵循但没有任何效果 date default timezone set timezone name 添加到我
  • 在没有 Sparc 硬件的情况下运行 Sparc 二进制文件

    在过去的几个月里 我一直很好奇尝试为 SPARC 处理器 V8 或 V9 进行一些组装 我的问题是 我无法访问 SPARC 机器 有没有办法可以在我的 x86 机器上运行 SPARC 二进制文件 我看过 QEMU 但不太确定如何设置它 Si
  • 如何修改生成器角度全栈图标?

    如何修改生成器角度全栈图标 我正在部署入门项目https github com DaftMonk generator angular fullstack https github com DaftMonk generator angular
  • 如何从 Azure DevOps 管道中的另一个作业访问 InvokeRestAPI 任务的响应?

    我正在尝试通过从 Azure DevOps 管道中调用 Elasticsearch 资源的 REST API 来自动部署 Elasticcloud 中的 Elasticsearch 资源 使用 InvokeRestAPI 任务调用 API
  • sed 是否阻塞?

    我的印象是 sed 没有阻塞 因为当我说 iostat sed sed在数据到达时对其进行处理 但是当我这样做时 iostat sed netcat Then sed blocks netcat 我对吗 sed当它不打印到终端时 将在缓冲模
  • OCIEnvCreate 失败,返回代码 1,但错误消息文本不可用

    我在这个异常中遇到了一些麻烦 我已经尝试过我看到的这个选项here https stackoverflow com questions 12901045 ocienvcreate failed with return code 1 but
  • ASP.NET Web 方法和 WCF 服务有什么区别?

    我是 Net 的新手 不明白其中的区别 有人能指出我正确的方向吗 ASP NET Web 服务是为构建通过 HTTP 使用简单对象访问协议 SOAP 发送和接收消息的应用程序而开发的 WCF 用于使 NET Framework 应用程序能够
  • 如何在Eclipse中找到被重写的方法?

    当我在 eclipse java 中查看一个方法时 如何跳转到它覆盖 扩展的方法 三种方法可以解决这个问题 超链接方式 鼠标 键盘 将鼠标悬停在覆盖的方法上时按 CTRL 键 您应该看到一个名为 打开超级实现 的选项 点击它 From he
  • 使用 CXF 拦截器进行错误处理 - 更改响应消息

    我正在尝试处理来自后端的错误 这handleMessage 如果发生错误但内容是 XmlMessage 的实例 则调用 我想将其更改为我自己的响应 只需设置响应代码并添加一些消息 我还没有找到任何合适的文档可以告诉我如何做到这一点 这些示例
  • 如何使用 UTC 时区偏移格式化 DateTime?

    这是什么类型的日期格式 2020 03 26T00 57 08 000 08 00 我在用着日期格式 https api flutter dev flutter intl DateFormat class html class DateTi