日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

IOS仿微信朋友圈的日期处理

發布時間:2023/12/18 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 IOS仿微信朋友圈的日期处理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

IOS仿微信朋友圈的日期處理

經常刷微信朋友圈的朋友,都能看到該條信息是什么發送的,有剛剛,有昨天,有xxxx年xx月xx日發送的,今天我們就探究微信內部是怎么樣去做的。
對于傳入的時間,一般是從服務器請求回來的json的時間數據要進行格式化,然后跟當前時間比較,當小于60秒,則顯示剛剛,我們采用分類的思想封裝工具類。對NSDate進行封裝。采用全局類方法對外暴露一個方法,可以仿照 我現在書寫的格式進行改造返回的具體字符串。oc的寫法亦是如此。
Sat Nov 20 15:14:20 +0800 2021 這是服務器json返回的格式,每個軟件在設計存入數據庫的格式都不一樣。根據需求具體可以自行更改自己需要格式進行格式化。只要動df.dateFormat那個參數即可。

// // NSDate-Extension.swift // timeTransform // // Created by lujun on 2021/11/20. // import Foundation extension NSDate {class func createDateString(createAtStr: String) -> String { // let _ = "Sat Nov 20 15:14:20 +0800 2021"let df = DateFormatter()df.dateFormat = "EEE MM dd HH:mm:ss Z yyyy"df.locale = NSLocale(localeIdentifier: "en") as Localeguard let createDate = df.date(from: createAtStr) else { return "" }let nowDate = NSDate() as Date//計算時間差let interval = Int(nowDate.timeIntervalSince(createDate)) // debugPrint(interval)if interval < 60 {return "剛剛"}if interval < 60 * 60 {return "\(interval / 60)分鐘前"}if interval < 60 * 60 * 24 {return "\(interval / 3600)小時前"}//5.4 創建日歷對象let calendar = Calendar.current//5.5 處理昨天數據 昨天 12:23if calendar.isDateInYesterday(createDate) {df.dateFormat = "昨天 HH:mm"let timeStr = df.string(from: createDate)return timeStr}//5.6 處理一年以內 11-20 12:22let cmps = (calendar as NSCalendar).components(.year, from: createDate, to: nowDate, options: [])if cmps.year ?? 0 < 1 {df.dateFormat = "MM-dd HH:mm"let timeStr = df.string(from: createDate)return timeStr}//5.7 超過一年 2021-11-20 13:32df.dateFormat = "yyyy-MM-dd HH:mm"let timeStr = df.string(from: createDate)return timeStr}}

touchBegin測試一下
override func touchesBegan(_ touches: Set, with event: UIEvent?) {
let createTimeStr = “Sat Nov 20 15:14:20 +0800 2021”
debugPrint(NSDate.createDateString(createAtStr: createTimeStr))
}
https://gitee.com/johnson__save_admin/time-transform-swift

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的IOS仿微信朋友圈的日期处理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。