Làm cách nào để chuyển đổi dấu thời gian này 1382086394000
sang 2013-10-18 08:53:14
sử dụng một hàm trong javascript? Hiện tại tôi có chức năng này:
function cleanDate(d) {return new Date(+d.replace(/\/Date\((\d+)\)\//, '$1'));}
Làm cách nào để chuyển đổi dấu thời gian này 1382086394000
sang 2013-10-18 08:53:14
sử dụng một hàm trong javascript? Hiện tại tôi có chức năng này:
function cleanDate(d) {return new Date(+d.replace(/\/Date\((\d+)\)\//, '$1'));}
Câu trả lời:
Giá trị 1382086394000 có thể là giá trị thời gian, là số mili giây kể từ năm 1970-01-01T00: 00: 00Z. Bạn có thể sử dụng nó để tạo một đối tượng Ngày ECMAScript bằng cách sử dụng hàm tạo Ngày :
var d = new Date(1382086394000);
Làm thế nào bạn chuyển đổi nó thành một cái gì đó có thể đọc được là tùy thuộc vào bạn. Chỉ cần gửi nó đến đầu ra sẽ gọi phương thức toString bên trong (và hoàn toàn phụ thuộc vào việc triển khai) * thường in thời gian hệ thống tương đương ở dạng con người có thể đọc được, ví dụ:
Fri Oct 18 2013 18:53:14 GMT+1000 (EST)
Trong ES5 có một số tùy chọn định dạng cài sẵn khác:
và như thế. Lưu ý rằng hầu hết đều phụ thuộc vào việc triển khai và sẽ khác nhau trong các trình duyệt khác nhau. Nếu bạn muốn có cùng một định dạng trên tất cả các trình duyệt, bạn sẽ cần tự định dạng ngày tháng, ví dụ:
alert(d.getDate() + '/' + (d.getMonth()+1) + '/' + d.getFullYear());
* Định dạng của Date.prototype.toString đã được chuẩn hóa trong ECMAScript 2018 . Có thể mất một thời gian trước khi nó phổ biến trên tất cả các triển khai, nhưng ít nhất thì hiện tại các trình duyệt phổ biến hơn đã hỗ trợ nó.
Điều này hoạt động tốt. Đã kiểm tra trong chrome
trình duyệt:
var theDate = new Date(timeStamp_value * 1000);
dateString = theDate.toGMTString();
alert(dateString );
1000
. Nếu không, bạn sẽ bay vào không gian trong tương lai !!
tại sao không đơn giản
new Date (timestamp);
Ngày là một ngày tháng, việc định dạng nó là một vấn đề khác.
Moment.js có thể chuyển đổi dấu thời gian unix thành bất kỳ định dạng tùy chỉnh nào
Trong trường hợp này : var time = moment(1382086394000).format("DD-MM-YYYY h:mm:ss");
sẽ in 18-10-2013 11:53:14
;
Đây là một plunker chứng minh điều này.
Dưới đây là những cách đơn giản để giải quyết mọi nhầm lẫn về định dạng ngày:
cho ngày hiện tại:
var current_date=new Date();
để lấy Dấu thời gian của ngày hiện tại:
var timestamp=new Date().getTime();
để chuyển một Ngày cụ thể thành Dấu thời gian:
var timestamp_formation=new Date('mm/dd/yyyy').getTime();
để chuyển đổi dấu thời gian thành Ngày:
var timestamp=new Date('02/10/2016').getTime();
var todate=new Date(timestamp).getDate();
var tomonth=new Date(timestamp).getMonth()+1;
var toyear=new Date(timestamp).getFullYear();
var original_date=tomonth+'/'+todate+'/'+toyear;
OUTPUT:
02/10/2016
chúng ta cần tạo hàm mới bằng JavaScript.
function unixTime(unixtime) {
var u = new Date(unixtime*1000);
return u.getUTCFullYear() +
'-' + ('0' + u.getUTCMonth()).slice(-2) +
'-' + ('0' + u.getUTCDate()).slice(-2) +
' ' + ('0' + u.getUTCHours()).slice(-2) +
':' + ('0' + u.getUTCMinutes()).slice(-2) +
':' + ('0' + u.getUTCSeconds()).slice(-2) +
'.' + (u.getUTCMilliseconds() / 1000).toFixed(3).slice(2, 5)
};
console.log(unixTime(1370001284))
2016-04-30 08:36:26.000
formatDate
là hàm bạn có thể gọi nó và chuyển ngày bạn muốn định dạng dd/mm/yyyy
var unformatedDate = new Date("2017-08-10 18:30:00");
$("#hello").append(formatDate(unformatedDate));
function formatDate(nowDate) {
return nowDate.getDate() +"/"+ (nowDate.getMonth() + 1) + '/'+ nowDate.getFullYear();
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="hello">
</div>
Đây là những gì tôi đã làm cho API instagram. đã chuyển đổi dấu thời gian với phương pháp ngày bằng cách nhân với 1000. và sau đó thêm tất cả các thực thể riêng lẻ như (năm, tháng, v.v.)
đã tạo tên danh sách tháng tùy chỉnh và được ánh xạ với getMonth()
phương thức trả về chỉ mục của tháng.
convertStampDate(unixtimestamp){
// Unixtimestamp
// Months array
var months_arr = ['January','February','March','April','May','June','July','August','September','October','November','December'];
// Convert timestamp to milliseconds
var date = new Date(unixtimestamp*1000);
// Year
var year = date.getFullYear();
// Month
var month = months_arr[date.getMonth()];
// Day
var day = date.getDate();
// Hours
var hours = date.getHours();
// Minutes
var minutes = "0" + date.getMinutes();
// Seconds
var seconds = "0" + date.getSeconds();
// Display date time in MM-dd-yyyy h:m:s format
var fulldate = month+' '+day+'-'+year+' '+hours + ':' + minutes.substr(-2) + ':' + seconds.substr(-2);
// filtered fate
var convdataTime = month+' '+day;
return convdataTime;
}
Gọi với đối số tem
convertStampDate('1382086394000')
và đó là nó.
Biến thể ES6 của tôi tạo ra một chuỗi như thế này 2020-04-05_16:39:45.85725
. Vui lòng sửa đổi câu lệnh trả về để có được định dạng mà bạn cần:
const getDateStringServ = timestamp => {
const plus0 = num => `0${num.toString()}`.slice(-2)
const d = new Date(timestamp)
const year = d.getFullYear()
const monthTmp = d.getMonth() + 1
const month = plus0(monthTmp)
const date = plus0(d.getDate())
const hour = plus0(d.getHours())
const minute = plus0(d.getMinutes())
const second = plus0(d.getSeconds())
const rest = timestamp.toString().slice(-5)
return `${year}-${month}-${date}_${hour}:${minute}:${second}.${rest}`
}
Để tính ngày trong dấu thời gian từ ngày nhất định
// Để lấy ngày dấu thời gian từ ngày bình thường : Ở định dạng - 1560105000000
// ngày nhập có thể ở định dạng: "2019-06-09T18: 30: 00.000Z"
this.calculateDateInTimestamp = function (inputDate) {
var date = new Date(inputDate);
return date.getTime();
}
sản lượng : 1560018600000