2016-10-26 23 views
5

Tôi nhận được giá trị này từ dịch vụ phụ trợ của tôi: 171054. Nó đại diện cho hh:mm:ss. Nhưng khi tôi sử dụng các tùy chọn định dạng từ tài liệu, nó cung cấp cho tôi trở lại 00:00:00.Định dạng giờ, phút và giây bằng moment.js

Những điều tôi đã cố gắng:

moment('171054').format('hh-mm-ss') 
moment('171054').format('HH-mm-ss') 
moment('171054').format('HH-MM-SS') 

Trả lời

8

Bạn đang nhầm lẫn tùy chọn format với tùy chọn phân tích cú pháp. Vì chuỗi đầu vào của bạn không ở định dạng ISO 8601, bạn phải specify format when parsing.

Dưới đây là một ví dụ làm việc đối với trường hợp sử dụng của bạn:

var mom = moment('171054', 'HHmmss'); 
 
console.log(mom.format()); 
 
console.log(mom.format('HH:mm:ss'));
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.15.1/moment.min.js"></script>

1

Tôi không chắc chắn nếu momentjs có thể đọc mà như ngày vì không có định danh. Tôi khuyên bạn nên thay đổi giá trị ví dụ bạn có 171054, nhận được 2 chữ số vì bạn chắc chắn rằng chữ này đại diện là hh: mm: ss rồi thêm số nhận dạng giữa sau đó như ":" hoặc "-" rồi thử định dạng lại khoảnh khắc.

Các vấn đề liên quan