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

flutter开发实战-时间显示刚刚几分钟前几小时前

flutter开发实战-时间显示刚刚几分钟前几小时前

在开发中经常遇到从服务端获取的时间戳,需要转换显示刚刚、几分钟前、几小时前、几天前、年月日等格式。

一、代码实现

static String timeFormatterChatTimeStamp(int seconds) {try {int nowDateSeconds =(DateTime.now().millisecondsSinceEpoch / 1000).truncate();String anotherDate =DateUtil.formatDateMs(seconds*1000, format: DateFormats.full);String nowDate =DateUtil.formatDateMs(nowDateSeconds*1000, format: DateFormats.full);print("timeFormatterChatTimeStamp ""seconds:${seconds},""nowDateSeconds:${nowDateSeconds},""anotherDate:${anotherDate},""nowDate:${nowDate}");//为了判断当前时间是否为未来时间if (seconds > nowDateSeconds) {return anotherDate;}List<String> anotherDateList = anotherDate.split(" ");List<String> nowDateList = nowDate.split(" ");if (anotherDateList.length == 2 && nowDateList.length == 2) {String nowDateYMD = nowDateList[0];String nowDateHMS = nowDateList[1];String anotherDateYMD = anotherDateList[0];String anotherDateHMS = anotherDateList[1];List<String> anotherDateYMDList = anotherDateYMD.split("-");List<String> nowDateYMDList = nowDateYMD.split("-");List<String> anotherDateHMSList = anotherDateHMS.split(":");List<String> nowDateHMSList = nowDateHMS.split(":");String anotherDateY = anotherDateYMDList[0];String anotherDateM = anotherDateYMDList[1];String anotherDateD = anotherDateYMDList[2];String nowDateY = nowDateYMDList[0];String nowDateM = nowDateYMDList[1];String nowDateD = nowDateYMDList[2];String anotherDateH = anotherDateHMSList[0];String anotherDateMi = anotherDateHMSList[1];String anotherDateS = anotherDateHMSList[2];int year = int.parse(anotherDateY) - int.parse(nowDateY);if (year < 0) {// 过去(今年以前)return "${anotherDateY}${anotherDateM}${anotherDateD}${anotherDateH}:${anotherDateMi}";} else {if (nowDateY == anotherDateY) {// 今年return "${anotherDateM}${anotherDateD}${anotherDateH}:${anotherDateMi}";} else {return "${anotherDateY}${anotherDateM}${anotherDateD}${anotherDateH}:${anotherDateMi}";}}} else {return anotherDate;}} catch (e) {return "${seconds}";}}

二、小结
flutter开发实战-格式化时间显示刚刚几分钟前几小时前等

从服务端获取的时间戳,需要转换显示刚刚、几分钟前、几小时前、几天前、年月日等格式。用到了DateUtil。

学习记录,每天不停进步。

相关文章:

flutter开发实战-时间显示刚刚几分钟前几小时前

flutter开发实战-时间显示刚刚几分钟前几小时前 在开发中经常遇到从服务端获取的时间戳&#xff0c;需要转换显示刚刚、几分钟前、几小时前、几天前、年月日等格式。 一、代码实现 static String timeFormatterChatTimeStamp(int seconds) {try {int nowDateSeconds (DateTi…...

导出LLaMA等LLM模型为onnx

通过onnx模型可以在支持onnx推理的推理引擎上进行推理&#xff0c;从而可以将LLM部署在更加广泛的平台上面。此外还可以具有避免pytorch依赖&#xff0c;获得更好的性能等优势。 这篇博客&#xff08;大模型LLaMa及周边项目&#xff08;二&#xff09; - 知乎&#xff09;进行…...

回顾 OWASP 机器学习十大风险

日复一日&#xff0c;越来越多的机器学习 (ML) 模型正在开发中。机器学习模型用于查找训练数据中的模式&#xff0c;可以产生令人印象深刻的检测和分类能力。机器学习已经为人工智能的许多领域提供了动力&#xff0c;包括情感分析、图像分类、面部检测、威胁情报等。 数十亿美…...

ENSP软件的基本使用命令(第三十一课)

ENSP软件的基本使用命令(第三十一课) 下面的图片是今天操作的核心基础操作 1 命令行页面 交换机 路由器 PC机 分别展示一下 页面的样子 2 基本命令结构...

五、FreeRTOS数据类型和编程规范

1、数据类型 (1)每个移植的版本都含有自己的portmacro.h头文件&#xff0c;里面定义了2个数据类型。 (2)TickType_t FreeRTOS配置了一个周期性的时钟中断&#xff1a;Tick Interrup每发生一次中断&#xff0c;中断次数累加&#xff0c;这被称为tick counttick count这个变量…...

码出高效_第二章 | 面向对象_上

目录 一. OOP理念1. 概念辨析2. 四大特性1. 抽象2. 封装3. 继承4. 多态 二. 初识Java1. JDKJDK 5-11的重要类、特性及重大改变 2. JRE关于JVM 三. 类1. 概述2. 接口和抽象类1. 概念及相同点2. 不同点3. 总结 3. 内部类4. 访问权限控制1. 由来2. public/private/无/private3. 推…...

大学生课设实训|基于springboot的在线拍卖系统

目录 项目描述 主要技术栈 功能效果 数据库设计 开发顺序 业务功能 大家好&#xff01;我是龍弟-idea&#xff01;需要源码资料信息可私聊我【HWL__666666】&#xff01; 项目描述 本系统是一个网上商品竞拍系统&#xff0c;为拍卖者和竞买者提供一个在线交流平台。本项…...

论文阅读 - Social bot detection in the age of ChatGPT: Challenges and opportunities

论文链接&#xff1a;https://www.researchgate.net/publication/371661341_Social_bot_detection_in_the_age_of_ChatGPT_Challenges_and_opportunities 目录 摘要&#xff1a; 引言 1.1. Background on social bots and their role in society 1.2. The rise of AI-gene…...

FPGA优质开源项目 - UDP RGMII千兆以太网

本文介绍一个FPGA开源项目&#xff1a;UDP RGMII千兆以太网通信。该项目在我之前的工作中主要是用于FPGA和电脑端之间进行图像数据传输。本文简要介绍一下该项目的千兆以太网通信方案、以太网IP核的使用以及Vivado工程源代码结构。 Vivado 的 Tri Mode Ethernet MAC IP核需要付…...

学C的第三十二天【动态内存管理】

相关代码gitee自取&#xff1a;C语言学习日记: 加油努力 (gitee.com) 接上期&#xff1a; 学C的第三十一天【通讯录的实现】_高高的胖子的博客-CSDN博客 1 . 为什么存在动态内存分配 学到现在认识的内存开辟方式有两种&#xff1a; 创建变量&#xff1a; int val …...

聊聊elasticsearch的data-streams

序 本文主要研究一下elasticsearch的data-streams data-streams 主要特性 首先data streams是由一个或者多个自动生成的隐藏索引组成的&#xff0c;它的格式为.ds-<data-stream>-<yyyy.MM.dd>-<generation> 示例.ds-web-server-logs-2099.03.07-000034&a…...

unreal engine c++ 创建tcp server, tcp client

TCP客户端 TcpConnect.h // Fill out your copyright notice in the Description page of Project Settings.#pragma once#include "CoreMinimal.h" #include "Common/UdpSocketReceiver.h" #include "GameFramework/Actor.h"DECLARE_DELEGATE…...

24届华东理工大学近5年自动化考研院校分析

今天给大家带来的是华东理工大学控制考研分析 满满干货&#xff5e;还不快快点赞收藏 一、华东理工大学 学校简介 华东理工大学原名华东化工学院&#xff0c;1956年被定为全国首批招收研究生的学校之一&#xff0c;1960年起被中共中央确定为教育部直属的全国重点大学&#…...

初识集合和背后的数据结构

目录 集合 Java集合框架 数据结构 算法 集合 集合&#xff0c;是用来存放数据的容器。其主要表现为将多个元素置于一个单元中&#xff0c;用于对这些元素进行增删查改。例如&#xff0c;一副扑克牌(一组牌的集合)、一个邮箱(一组邮件的集合&#xff09;。 Java中有很多种集…...

选择适合你的数据可视化工具:提升洞察力的关键决策

导言&#xff1a; 在当今数据驱动的世界中&#xff0c;数据可视化工具成为了帮助我们理解和传达数据见解的关键工具之一。数据可视化不仅能够将复杂的数据转化为易于理解的可视化形式&#xff0c;还能帮助我们发现数据中的模式、趋势和关联。然而&#xff0c;随着市场上可视化工…...

H5中的draggable

基本语法及事件 draggable 属性规定元素是否可拖动。必须设置&#xff0c;否则没有拖拽效果及事件触发 提示&#xff1a; 链接和图像默认是可拖动的。 提示&#xff1a; draggable 属性经常用于拖放操作 语法 <element draggable"true|false|auto"> 值描…...

搭建SVN服务器

简介 SVN&#xff08;Subversion&#xff09;是一种版本控制工具&#xff0c;用于管理和跟踪文件的修改历史。它可以帮助团队协作开发&#xff0c;方便地共享和更新代码&#xff0c;同时也可以提供备份和安全控制功能。 使用SVN&#xff0c;你可以创建中央代码库&#xff08;…...

OpenCV之信用卡识别实战

文章目录 代码视频讲解模板匹配文件主程序(ocr_template_match.py)myutils.py 代码 链接: https://pan.baidu.com/s/1KjdiqkyYGfHk97wwgF-j3g?pwdhhkf 提取码: hhkf 视频讲解 链接: https://pan.baidu.com/s/1PZ6w5NcSOuKusBTNa3Ng2g?pwd79wr 提取码: 79wr 模板匹配文件 …...

Detector定位算法在FPGA中的实现——section1 原理推导

关于算法在FPGA中的实现,本次利用业余的时间推出一个系列章节,专门记录从算法的推导、Matlab的实现、FPGA的移植开发与仿真做一次完整的FPGA算法开发,在此做一下相关的记录和总结,做到温故知新。 这里以Detector在Global Coordinate System(原点为O)中运动为背景,Detect…...

心电信号去噪:方法与应用

目录 1 去噪技术的发展历程 2 滤波器去噪的应用 3 小波去噪的优势 4 深度学习去噪的前景...

Ceph存储集群搭建:如何选择RAID卡模式(HBA vs IT vs non-RAID)

Ceph存储集群搭建&#xff1a;RAID卡模式选择与性能优化实战指南 在构建企业级Ceph存储集群时&#xff0c;硬件配置的每一个细节都可能成为性能瓶颈或稳定性隐患。其中&#xff0c;RAID控制器的工作模式选择——HBA、IT与non-RAID之间的差异&#xff0c;往往被许多初次部署Ceph…...

UDS诊断自动化测试入门:用Python模拟Tester端,批量刷写DID与安全访问

UDS诊断自动化测试实战&#xff1a;Python构建高覆盖率ECU测试框架 在汽车电子控制单元&#xff08;ECU&#xff09;开发中&#xff0c;诊断功能测试往往是最耗时的手工操作环节之一。想象一下&#xff0c;当需要验证数百个数据标识符&#xff08;DID&#xff09;的读写功能时&…...

原创:行业空白:从约束崩塌到系统闭环的工程新论

行业空白&#xff1a;从约束崩塌到系统闭环的工程新论 作者&#xff1a;华夏之光永存 #工程约束 #底层架构 #系统稳定性 #软件开发 #高端制造 #工程方法论 #逻辑闭环 #零缺陷工程 #源头治理 #技术架构 摘要 本文直指当前工程领域普遍存在的核心问题&#xff1a;缺乏统一、刚性的…...

大麦智能抢票系统:告别手速极限的终极解决方案

大麦智能抢票系统&#xff1a;告别手速极限的终极解决方案 【免费下载链接】ticket-purchase 大麦自动抢票&#xff0c;支持人员、城市、日期场次、价格选择 项目地址: https://gitcode.com/GitHub_Trending/ti/ticket-purchase 还在为抢不到热门演唱会门票而烦恼吗&…...

广东省高级会计师评审辅导知名品牌

在职业发展的道路上&#xff0c;专业资格认证是许多财务从业者提升自我、拓宽职业路径的重要一环。广东省高级会计师评审&#xff0c;作为一项专业性强、要求严格的职业能力认定&#xff0c;其准备过程需要系统性的指导与支持。中山力朗教育咨询有限公司&#xff0c;作为一家立…...

foobar2000界面美化终极指南:3步打造你的专属音乐播放器

foobar2000界面美化终极指南&#xff1a;3步打造你的专属音乐播放器 【免费下载链接】foobox-cn DUI 配置 for foobar2000 项目地址: https://gitcode.com/GitHub_Trending/fo/foobox-cn 还在为foobar2000那套单调乏味的默认界面感到困扰吗&#xff1f;今天我要为你介绍…...

AI图像抠图新体验:cv_unet_image-matting参数调优全解析

AI图像抠图新体验&#xff1a;cv_unet_image-matting参数调优全解析 1. 引言&#xff1a;为什么需要专业抠图工具 在日常工作和生活中&#xff0c;我们经常需要处理图片——制作证件照、设计海报、编辑产品图等等。传统的手动抠图不仅耗时耗力&#xff0c;而且对技术要求高&a…...

Qwen2.5-VL-7B-Instruct开源大模型:支持中文优先的多模态理解部署方案

Qwen2.5-VL-7B-Instruct开源大模型&#xff1a;支持中文优先的多模态理解部署方案 1. 项目概述 Qwen2.5-VL-7B-Instruct是一款开源的视觉-语言多模态大模型&#xff0c;特别针对中文场景进行了优化。该模型能够同时处理图像和文本输入&#xff0c;实现跨模态的理解与生成任务…...

Typora与AI结合:使用万象熔炉·丹青幻境为Markdown文档自动配图

Typora与AI结合&#xff1a;使用万象熔炉丹青幻境为Markdown文档自动配图 不知道你有没有过这样的体验&#xff1a;在Typora里写完一篇技术博客或项目文档&#xff0c;内容详实&#xff0c;逻辑清晰&#xff0c;但通篇下来全是文字&#xff0c;总觉得少了点什么。想配几张图吧…...

CSS动画+超级千问:打造有呼吸感的语音合成反馈系统(实战教程)

CSS动画超级千问&#xff1a;打造有呼吸感的语音合成反馈系统&#xff08;实战教程&#xff09; 1. 项目介绍与核心价值 1.1 传统TTS工具的痛点 大多数语音合成工具的操作体验是这样的&#xff1a;面对一堆参数滑块&#xff0c;反复调整"语速"、"音高"、…...