|
|
@@ -143,14 +143,31 @@ export default {
|
|
|
},
|
|
|
formatTime: function(timeStr) {
|
|
|
if (!timeStr) return '待定'
|
|
|
- var d = new Date(timeStr)
|
|
|
- if (isNaN(d.getTime())) return timeStr
|
|
|
+ var d = this._parseDate(timeStr)
|
|
|
+ if (!d || isNaN(d.getTime())) return timeStr
|
|
|
var month = d.getMonth() + 1
|
|
|
var day = d.getDate()
|
|
|
var hour = d.getHours()
|
|
|
var minute = d.getMinutes() < 10 ? '0' + d.getMinutes() : d.getMinutes()
|
|
|
return month + '月' + day + '日 ' + hour + ':' + minute
|
|
|
},
|
|
|
+ // iOS 不兼容 Java "EEE MMM dd HH:mm:ss zzz yyyy" 格式,需提前归一化
|
|
|
+ _parseDate: function(timeStr) {
|
|
|
+ if (!timeStr) return null
|
|
|
+ // 尝试标准格式
|
|
|
+ var d = new Date(timeStr)
|
|
|
+ if (!isNaN(d.getTime())) return d
|
|
|
+ // Java 格式: "Sat Aug 22 14:00:00 CST 2026" → 转换为 iOS 兼容格式
|
|
|
+ var javaRe = /^\w{3}\s+(\w{3})\s+(\d{1,2})\s+(\d{2}:\d{2}:\d{2})\s+\w{3}\s+(\d{4})$/
|
|
|
+ var m = timeStr.match(javaRe)
|
|
|
+ if (m) {
|
|
|
+ var months = {Jan:'01',Feb:'02',Mar:'03',Apr:'04',May:'05',Jun:'06',Jul:'07',Aug:'08',Sep:'09',Oct:'10',Nov:'11',Dec:'12'}
|
|
|
+ var iso = m[4] + '/' + (months[m[1]] || '01') + '/' + (m[2].length === 1 ? '0' + m[2] : m[2]) + ' ' + m[3]
|
|
|
+ d = new Date(iso)
|
|
|
+ if (!isNaN(d.getTime())) return d
|
|
|
+ }
|
|
|
+ return null
|
|
|
+ },
|
|
|
formatPriceWithSymbol: function(price) {
|
|
|
if (price == null) return '免费'
|
|
|
return '¥' + (Number(price) / 100).toFixed(0)
|