2015-12-18 2 views
1

У меня есть строка даты UTC ->10/30/2014 10:37:54 AMполучить UTC метку время с отформатированных дат - Javascript

Как получить временную метку для этой даты UTC? Насколько я знаю, после обрабатывает это как мое местное время

var d = new Date("10/30/2014 10:37:54 AM"); 
return d.getTime(); 

Спасибо

+0

Вы можете использовать библиотеку как momentjs? http://momentjs.com/docs/#/parsing/unix-timestamp/ – Oakley

+0

Не getTime() возвращает метку времени только в UTC? См. Https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getTime –

+0

Возможный дубликат [Как отформатировать дату JavaScript] (http://stackoverflow.com/questions/3552461/how-to-format-a-javascript-date) –

ответ

1

Вы можете уменьшить "TimezoneOffset"

var d = new Date("10/30/2014 10:37:54 AM"); 
return d.getTime() - (d.getTimezoneOffset() *1000 * 60); 

Также и может использовать функцию UTC

var d = new Date("10/30/2014 10:37:54 AM"); 
return Date.UTC(d.getFullYear(),d.getMonth()+1,d.getDate(),d.getHours(),d.getMinutes(),d.getSeconds()); 
+0

спасибо - Date.UTC сделал то, что мне нужно :-) Cheers – eder

+0

почему вы добавили +1 за d.getMonth()? – eder

+0

Значение месяца равно 0. Это означает, что «0» - январь, «1» - февраль. Но функция Date.UTC, ожидающая 1 базирующегося значения, означает, что «1» - январь ... и т. Д., Поэтому мы добавляем +1. –

0

Быстрый хак будет добавлять UTC до конца вашей строки перед разбором:

var d = new Date("10/30/2014 10:37:54 AM UTC"); 

Но я бы посоветовал использовать библиотеку, такую ​​как moment.js, она упростила даты синтаксического анализа

0

Пробег: Date.parse

var d = new Date("10/30/2014 10:37:54 AM"); 
var timstamp = Date.parse(d)/1000; 
1

Если формат исправлен, вы можете легко проанализировать его и использовать API Date.UTC().

0

Надеется, что это помогает:

Date date= new Date(); 
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
    SimpleDateFormat sdf2 = new SimpleDateFormat("HH:mm:ss"); 

    date = sdf.parse(date.toString()); 
    String timestamp = sdf2.format(date); 
2

Вы можете использовать Date.UTC создать Объект даты в формате UTC.

Ссылка:

(function() { 
 
    var d = new Date(); 
 
    var d1 = new Date(Date.UTC(d.getFullYear(), d.getMonth(), d.getDate(), d.getHours(), d.getMinutes(), d.getSeconds())); 
 

 
    console.log(+d); 
 
    console.log(+d1); 
 
})()

Смежные вопросы