2017-02-02 2 views
0

У меня есть приложение, где мне нужно показать дату в UI, например DD-MM-YYYY hh:mm:ss, и снова эту дату в метку времени.Как получить форматированную дату с использованием момента.js и преобразовать ее в метку времени с помощью angularjs

То, что я пробовал:

$scope.dateForUI = moment().format("DD-MM-YYYY hh:mm:ss"); 

Здесь я получаю ожидаемый результат. Но мне нужна метка времени $ scope.dateForUI. Так что я попытался

$scope.dateInTimestamp = moment().unix($scope.get_date_line); 

Но выход консоли показывает 1970 дату в $scope.dateInTimestamp

Мой вопрос, как отформатировать текущую дату и присвоить его переменной и снова, как получить временную метку для этого конкретного время.

Другое дело, что можно сохранить время любого временного пояса в моей переменной $scope.dateForUI с помощью moment.js? Мне нужно показать время IST в каждом местоположении браузера.

Очень новичок в moment.js, любая помощь будет оценена по достоинству. Заранее спасибо.

ответ

0

Попробуйте это:

$scope.dateInTimeStamp = moment().unix(); 
+0

это возвращает 1486049689 – MonsterJava

+0

Полная метка времени будет возвращен с помощью 'момента() valueOf () ' – Baltic

+0

Я форматировал объект как $ scope.dateForUI = moment(). Format (" DD-MM-YYYY hh: mm: ss "); У Mozzila есть проблема с этим. – MonsterJava

0

Вы можете использовать moment-timezone для получения значений в фиксированном часовом поясе. Например:

moment.tz("Asia/Kolkata") 

Использование moment.unix(Number) получить объект момента от секунд с Unix Epoch

Более того, вы можете использовать, чтобы получить valueOf() миллисекунду с Unix Epoch от объекта момента и .unix() получить секунды.

Вот отрывок, чтобы показать, как работает момент- часовой пояс и как вы можете использовать unix():.

// basic angular mock 
 
var $scope = {}; 
 
// Current time in India (moment object) 
 
var momNow = moment.tz("Asia/Kolkata"); 
 
// Current time in India formatted (string) 
 
$scope.dateForUI = momNow.format("DD-MM-YYYY HH:mm:ss"); 
 
// Current time in India as seconds from 1970 (number) 
 
$scope.dateInTimestamp = momNow.unix(); 
 

 
console.log($scope.dateForUI); 
 
console.log($scope.dateInTimestamp);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/moment.min.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.7/moment-timezone-with-data-2010-2020.min.js"></script>

+0

Что такое номер здесь? – MonsterJava

+0

'Number' - _ секунд, поскольку Unix Epoch_ видит связанный пример в документах. Если я хорошо понимаю, '$ scope.get_date_line' - это номер в вашем коде. – VincenzoC

+0

Это не работает с mozzila, любая идея? – MonsterJava

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