flutter 幾秒前, 幾分鐘前, 幾小時前, 幾天前...

Show me the code!!!

class RelativeDateFormat {static final num ONE_MINUTE = 60000;static final num ONE_HOUR = 3600000;static final num ONE_DAY = 86400000;static final num ONE_WEEK = 604800000;static final String ONE_SECOND_AGO = "秒前";static final String ONE_MINUTE_AGO = "分鐘前";static final String ONE_HOUR_AGO = "小時前";static final String ONE_DAY_AGO = "天前";static final String ONE_MONTH_AGO = "月前";static final String ONE_YEAR_AGO = "年前";//時間轉換static String format(DateTime date) {num delta = DateTime.now().millisecondsSinceEpoch - date.millisecondsSinceEpoch;if (delta < 1 * ONE_MINUTE) {num seconds = toSeconds(delta);return (seconds <= 0 ? 1 : seconds).toInt().toString() + ONE_SECOND_AGO;}if (delta < 45 * ONE_MINUTE) {num minutes = toMinutes(delta);return (minutes <= 0 ? 1 : minutes).toInt().toString() + ONE_MINUTE_AGO;}if (delta < 24 * ONE_HOUR) {num hours = toHours(delta);return (hours <= 0 ? 1 : hours).toInt().toString() + ONE_HOUR_AGO;}if (delta < 48 * ONE_HOUR) {return "昨天";}if (delta < 30 * ONE_DAY) {num days = toDays(delta);return (days <= 0 ? 1 : days).toInt().toString() + ONE_DAY_AGO;}if (delta < 12 * 4 * ONE_WEEK) {num months = toMonths(delta);return (months <= 0 ? 1 : months).toInt().toString() + ONE_MONTH_AGO;} else {num years = toYears(delta);return (years <= 0 ? 1 : years).toInt().toString() + ONE_YEAR_AGO;}}static num toSeconds(num date) {return date / 1000;}static num toMinutes(num date) {return toSeconds(date) / 60;}static num toHours(num date) {return toMinutes(date) / 60;}static num toDays(num date) {return toHours(date) / 24;}static num toMonths(num date) {return toDays(date) / 30;}static num toYears(num date) {return toMonths(date) / 365;}
}復制代碼

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/251729.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/251729.shtml
英文地址,請注明出處:http://en.pswp.cn/news/251729.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

CMake 使用筆記

記錄 CMake 相關知識。 Prelude&#xff1a;讀文檔一定要有耐心&#xff01; 問題一 CLion&#xff1a; CMakeLists.txt 中 set(CMAKE_CXX_FLAGS -Wall) 不起作用 Solution: 改用 target_compile_options(main PUBLIC -Wall) Reference:target_compile_optionsGCC: Options to …

Docker 完全指南

Docker 最初 dotCloud 公司內部的一個業余項目Docker 基于 Go 語言Docker 項目的目標是實現輕量級的操作系統虛擬化解決方案Docker 的基礎是 Linux 容器&#xff08;LXC&#xff09;等技術Docker 容器的啟動可以在秒級實現&#xff0c;這相比傳統的虛擬機方式要快得多Docker 對…

NOIP 2016【蚯蚓】

好吧&#xff0c;我承認我是個智障…… 這道題一眼看上去就是個堆&#xff0c;然而實際上有單調性。 注意到&#xff0c;如果 \(q 0\) 的話&#xff0c;將蚯蚓的左右兩邊分開丟進兩個隊列中&#xff0c;則兩個隊列都是單調不增的&#xff0c;因為每次取出的蚯蚓長度單調不增。…

Ajax異步(客戶端測試)

客戶端測試&#xff1a;GET方法實現Ajax異步 var request new XMLHttpRequest(); request.open("GET","sever.php?number" document.getElementById("keyword").value); request.send(); request.onreadystatechange function(){ if(request.…

VS 添加文件添加文件成鏈接

轉載于:https://www.cnblogs.com/wsxkit/p/10907585.html

設計模式——3.觀察者模式

觀察者模式&#xff08;Observer&#xff09; 觀察者模式&#xff08;Observer&#xff09;簡介&#xff1a; 定義一個一對多的依賴關系&#xff0c;讓多個觀察者對象監聽某個主題對象&#xff0c;當主題對象的狀態發生改變時&#xff0c;主題對象則通知所有的觀察者對象&#…

Android 長按照片保存 工具類

2019獨角獸企業重金招聘Python工程師標準>>> public class ImgUtils {public static void saveImageToGallery(Context context, Bitmap bmp) {final String[] items new String[] { "保存圖片"};//圖片轉成Bitmap數組final Bitmap[] bitmap new Bitmap…

反爬機制

一.通過headers反爬蟲&#xff1a; Basic Auth這是一種古老的、不安全的用戶驗證方式&#xff0c;一般會有用戶授權的限制&#xff0c;會在headers的Autheration字段里要求加入用戶名密碼(明文)&#xff0c;如果驗證失敗則請求就會失敗&#xff0c;現在這種認證方式正在被淘汰。…

knockout + easyui = koeasyui

在做后臺管理系統的同學們&#xff0c;是否有用easyui的經歷。雖然現在都是vue、ng、react的時代。但easyui&#xff08;也就是jquery為基礎&#xff09;還是占有一席之地的。因為他對后端開發者太友好了&#xff0c;太熟悉不過了。要讓一個后端開發者來理解vue或者是react的VN…

輕量社交APP系統ThinkSNS 簡 權威發布 限時惠購

2019獨角獸企業重金招聘Python工程師標準>>> 伴隨國內外創業風潮、AI、區塊鏈等互聯網軟件科技領域的高速發展&#xff0c;2019年&#xff0c;ThinkSNS軟件品牌迎來十周年后的新紀元。作為下一個階段的產品元年&#xff0c;官方于2019年5月正式發售輕量核心社交APP系…

linux下安裝oracle sqlplus以及imp、exp工具

一、下載oracle 11g sqlplus軟件 linux 64位操作系統&#xff0c;oracle安裝包地址 http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html oracle-instantclient11.2-sqlplus-11.2.0.3.0-1.x86_64.rpm  oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_6…

在operator =中要處理“自我賦值”

防止自我賦值很有必要 Widget w; w w; a[i] a[j]; //a[i]和a[j]實際上指向同一個元素 *pi *pj; //pi和pj實際上指向同一個元素 自我賦值的危害&#xff1a; Widget { private:Test *p; }; Widget &Widget::operator(const Widget &w) {delete p;p new int (*w.p);r…

新添加磁盤分區后,找不到新分區

問題&#xff1a;在Vcent中擴容磁盤容量&#xff0c;登錄虛擬機fdisk /dev/sda分區后&#xff0c;找不到新分區。 lsblk或者 df -TH fdisk /dev/sda p 嘗試解決辦法&#xff1a; cd /sys/class/scsi_host/ ls echo "- - -" > /sys/class/scsi_host/host0/scan (中…

Linux一些指令

備忘。。 ~/.bashrc 環境變量文件 xshell5 與本機文件傳輸 rz接受 sz filename 傳輸 watch -n 2 nvidia-smi 監視gpu 狀態wget 下載單個文件wget http://images.cocodataset.org/zips/train2014.zip給.sh文件添加x執行權限 比如以hello.sh文件為例&#xff0c;chmod ux hello…

C# 通過反射獲取方法/類上的自定義特性

1.所有自定義屬性都必須繼承System.Attribute 2.自定義屬性的類名稱必須為 XXXXAttribute 即是已Attribute結尾 自定義屬性QuickWebApi [AttributeUsage(AttributeTargets.Method, Inherited false, AllowMultiple true)]public class QuickWebApiAttribute: Attribute{publ…

Spring Cloud Zuul網關(快速搭建)

zuul 是netflix開源的一個API Gateway 服務器, 本質上是一個web servlet應用。 在云平臺上提供動態路由&#xff0c;監控&#xff0c;彈性&#xff0c;安全等邊緣服務的框架。相當于是設備和 Netflix 流應用的 Web 網站后端所有請求的前門。主要功能是路由轉發和過濾器。 Zuul可…

10.13 上午 考試

T1 直接二分就好了 #include <cstdio> #include <cstring> #include <iostream> #include <cmath> #include <cstdlib> #include <algorithm> #define ll long long #define mem(a,b) memset(a,b,sizeof(a)) using namespace std;ll n; in…

前端安全之token

前端可以通過cookie以js的方式存取token&#xff0c;并且實現用戶的登錄登出以及token的超時操作&#xff0c;但這樣做并不安全&#xff0c;無法避免跨站腳本的攻擊&#xff0c;如果對項目的安全性要求比較高&#xff0c;應該在服務端開啟http only為true&#xff0c;通過服務端…

gbk 轉 UTF-8

iconv命令 gbk 轉 UTF-8 -----linux gbk 轉 UTF-8-------- iconv 用法 iconv -f "gbk" -t "utf-8" < infile > outfile 或者 piconv -f "gbk" -t "utf-8" < infile > outfile iconv -f utf-8 -t GBK 123456.txt 對傳文件…

Mybatis中輸入輸出映射和動態Sql

一、輸入映射我們通過配置parameterType的值來指定輸入參數的類型&#xff0c;這些類型可以是簡單數據類型、POJO、HashMap等數據類型1、簡單類型2、POJO包裝類型①這是單表查詢的時候傳入的POJO包裝類型&#xff0c;即可以直接傳入實體類&#xff0c;但是當多表查詢的時候&…