У меня есть даты в строчном формате в моем приложении qml/javascript. Я хотел бы конвертировать 2016-01-30 12:00:00 в нечто короткое и ясное, как 30 января 2016 года. Есть ли способ сделать это?Конвертировать yyyy-mm-dd hh: mm: ss to day and month
ответ
Это очень легко сделать в QML. Вот пример, который печатает точную строку, которую вы хотели:
import QtQuick 2.2
Item {
Component.onCompleted: {
var date = new Date("2016-01-30 12:00:00")
// Prints "30 Jan 2016 12h"
console.log(Qt.formatDateTime(date, "dd MMM yyyy h'h'"))
}
}
Объект Date
просто стандартная дата JS (с несколькими QML-определенными расширениями) и может анализировать множество строк даты в дату, используя конструктор. Прочтите MDN documentation for Date
для более подробной информации.
Qt.formatDateTime()
- специфичный для Qt метод, используемый для форматирования дат. Это исключает несколько разных типов стандартных форматов, или вы можете передать свой собственный формат, как я здесь. Для получения дополнительной информации прочитайте документацию Qt.formateDateTime()
. Вы также найдете таблицу спецификаторов формата даты, которую вы можете использовать.
Большое спасибо iBelieve! Он работает просто отлично! – karen
Что вы пробовали? Покажите нам какой-то код. Вы пробовали некоторые из этих mabye: http://www.w3schools.com/js/js_date_formats.asp? – krzysiej
@ krzysiej-пожалуйста, не обращайтесь к w3schools, совет, как правило, не очень хорош. MDN намного предпочтительнее, как и спецификация ECMAScript. – RobG