Отображение текущего времени устройства при отправке сообщения пользователем - PullRequest
0 голосов
/ 07 июля 2019

Как я могу показать время около сообщения, когда оно было отправлено пользователем?

Я пытался использовать TimeInterval() и DateFormatter(), но мне не удалось их успешно реализовать. Также я использую файл xib для ячейки сообщения.

Ответы [ 3 ]

2 голосов
/ 07 июля 2019

Вы можете использовать Date и DateFormatter для получения текущей даты и времени.

let formatter = DateFormatter()

formatter.dateFormat = "HH:mm:ss"
formatter.string(from: Date()) // Example: 19:38:20

formatter.dateFormat = "yyyy/MM/dd"
formatter.string(from: Date()) // Example: 2019/07/07


// Or you can use dateStyle and timeStyle.

formatter.dateStyle = .long
formatter.timeStyle = .medium
0 голосов
/ 07 июля 2019

В вашей модели данных сообщения вы можете сохранить свойство для messageTime как объект Date вместо строки (полученной с сервера), используя DateTransfrom. Теперь, когда вы хотите отобразить эту дату сообщения, вы можете преобразовать объект DateTime Date в строку с вашим собственным форматом для отображения с использованием DateFormatter. Я использую маппер для отображения объекта json на мой объект модели данных

public class Message:Mappable{
    public var text: String 
    public var messageTime: Date 
    public var id: String 

    required public init() {
        super.init()
    }

    required convenience public init?(map: Map) { self.init() }    

    open override func mapping(map: Map) {
        text <- map["text"]
        messageTime <- (map["created_at"], DateTransform())
        id <- map["id"]
    }
}

Then fetch the 'message' object.

let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "hh:mm a" //07:30 PM
let messageTimeString = dateFormatter.string(from: message.messageTime)
0 голосов
/ 07 июля 2019

Какой у тебя бэкэнд?Если вы используете firebase, вы можете добавить к сообщению переменную с именем timestamp, откуда вы можете узнать, сколько времени прошло с того времени, когда вы сделали это сообщение, и вы можете легко получить местное время и минус его со времени, когда оно было опубликовано.Дайте мне больше информации о вашем стеке, и я смогу дать вам больше информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...