Tôi lưu trữ ngày theo định dạng DATETIME trong cơ sở dữ liệu MySQL. Khi một mô hình được tìm nạp từ cơ sở dữ liệu, ngày tháng (theo định dạng DATETIME) được chuyển đổi thành các đối tượng ngày trong phương thức khởi tạo của mô hình. Càng xa càng tốt.Làm cách nào để xử lý các ngày trong Backbone?
Khi mô hình được lưu vào máy chủ, các đối tượng ngày cần được chuyển đổi về định dạng DATETIME để mã phía máy chủ diễn giải đúng ngày. Tôi đã sử dụng tất cả các loại hackery để làm điều này, nhưng tôi tự hỏi ở mức độ nào của mô hình lưu phương thức tôi có thể chuyển đổi an toàn các ngày sang định dạng DATETIME không?
Một cách tiếp cận là phải làm như sau:
this.model.save({
date : date.toDateTime()
}, options);
Tuy nhiên, điều này gây ra một sự kiện thay đổi được bắn từ các thuộc tính băm trước khi phương pháp tiết kiệm không phải là giống như băm sau sự kiện tiết kiệm (và điều này kích hoạt phương thức thiết lập của Backbone).
thời gian Hoặc unix, hoặc một [ISO đại diện ngày chuẩn] (http://en.wikipedia.org/wiki/ISO_8601). Tôi thường sử dụng sau này. Nhưng tôi đồng ý rằng một đại diện tiêu chuẩn, phi đối tượng sẽ giúp tình hình. –
Đó là một tùy chọn tôi đã xem xét, nhưng nó tạo ra khá nhiều chi phí bằng cách tạo ra một đối tượng ngày mỗi lần bạn cần. Một đại diện ngày nhất quán thực sự sẽ làm cho mọi thứ dễ dàng hơn nhiều. –
Bạn đã thuyết phục tôi, Tomasz (và Rob). Nó sẽ mất một chút công việc, nhưng tôi thấy lợi ích của việc có định dạng ngày độc lập với môi trường/ngôn ngữ. Cảm ơn rất nhiều về thời gian của bạn Tomasz và Rob. Nhiều đánh giá cao. –