format.js 986 B

1234567891011121314151617181920212223242526272829303132
  1. /**
  2. * 时间格式化工具 — iOS 安全版本
  3. */
  4. export function parseDate(str) {
  5. if (!str) return null
  6. if (str instanceof Date) return str
  7. var normalized = String(str).replace(' ', 'T').trim()
  8. var d = new Date(normalized)
  9. return isNaN(d.getTime()) ? null : d
  10. }
  11. export function formatDateTime(str) {
  12. var d = parseDate(str)
  13. if (!d) return ''
  14. function pad(n) { return n < 10 ? '0' + n : '' + n }
  15. return d.getFullYear() + '-' + pad(d.getMonth() + 1) + '-' + pad(d.getDate()) +
  16. ' ' + pad(d.getHours()) + ':' + pad(d.getMinutes()) + ':' + pad(d.getSeconds())
  17. }
  18. export function formatDate(str) {
  19. var d = parseDate(str)
  20. if (!d) return ''
  21. function pad(n) { return n < 10 ? '0' + n : '' + n }
  22. return d.getFullYear() + '-' + pad(d.getMonth() + 1) + '-' + pad(d.getDate())
  23. }
  24. export function today() {
  25. var d = new Date()
  26. function pad(n) { return n < 10 ? '0' + n : '' + n }
  27. return d.getFullYear() + '-' + pad(d.getMonth() + 1) + '-' + pad(d.getDate())
  28. }