Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   получить время в unix формате (https://javascript.ru/forum/misc/69344-poluchit-vremya-v-unix-formate.html)

rafaello 16.06.2017 10:58

получить время в unix формате
 
Здравствуйте.
Немного тормознул, не могу решить данный вопрос.
У меня установлен jquery datepicker, который позволяет вставить в инпут определенную дату, причем формат даты может быть разный.
Может быть
год.мес.день.час.мин
или
день.час
или
день
Все это настраивается в самих настройках датапикера.
Мне надо получить из всех этих разных форматов значение в секундах или миллисекундах unix.
Пожалуйста, подскажите, как мне перевести вышеуказанные форматы даты в формат unix? Желательно на JQUERY.

Dilettante_Pro 16.06.2017 11:34

Дата измеряется в миллисекундах, начиная от полуночи 01 января 1970 года GMT+0
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>jQuery UI</title>
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
    <script src="//ajax.aspnetcdn.com/ajax/jquery.ui/1.10.3/jquery-ui.min.js"></script>
    <link rel="stylesheet" href="https://ajax.aspnetcdn.com/ajax/jquery.ui/1.10.3/themes/sunny/jquery-ui.css">
    <style type="text/css">
        input {width: 200px; text-align: left}
    </style> 
    <script type="text/javascript">
$(function() {
	
    $('#datep').datepicker();
    $('#datep').on('change', function() {
           var ms = new Date($(this).val());
           $('#datms').val(ms.valueOf());
     });	
});
    </script>   
</head>
<body>
    <form>
      <div class="ui-widget">
        <label for="datep">Дата: </label><input id="datep"/>
        <label for="datms">Миллисекунд: </label><input id="datms"/>
      </div>
    </form>
</body>

</html>

рони 16.06.2017 11:44

Dilettante_Pro,
:-?
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>jQuery UI</title>
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
    <script src="//ajax.aspnetcdn.com/ajax/jquery.ui/1.10.3/jquery-ui.min.js"></script>
    <link rel="stylesheet" href="https://ajax.aspnetcdn.com/ajax/jquery.ui/1.10.3/themes/sunny/jquery-ui.css">
    <style type="text/css">
        input {width: 200px; text-align: left}
    </style>
    <script type="text/javascript">
$(function() {

$('#datep').datepicker({onSelect : function() {
    var currentDate = $( this ).datepicker( "getDate" );
     alert(currentDate/1000|0);
}});
   /* $('#datep').on('change', function() {
           var ms = new Date($(this).val());
           alert(ms.valueOf());
     });*/
});
    </script>
</head>
<body>
    <form>
      <div class="ui-widget">
        <label for="datep">Дата: </label><input id="datep"/>
      </div>
    </form>
</body>

</html>

rafaello 16.06.2017 12:40

спасибо большое. я попозже посмотрю и отвечу

Dilettante_Pro 16.06.2017 13:43

рони,
Цитата:

Сообщение от рони
Dilettante_Pro,:-?

Мой вариант не зависит от datepicker, может работать и в других случаях,
например

var ms = new Date();
alert(ms.valueOf());


Или это про valueOf() ?
Можно было написать и ms/1, но не очень люблю финты

рони 16.06.2017 15:29

Цитата:

Сообщение от Dilettante_Pro
Можно было написать и ms/1,

Цитата:

Сообщение от rafaello
даты в формат unix

Цитата:

Сообщение от рони
alert(currentDate/1000|0);

:-?

rafaello 16.06.2017 15:46

Ребята, спасибо за помощь. После обеда голова лучше соображает, нашел правильное решение, применительно к моему datepicker
https://github.com/Eonasdan/bootstra...ker/issues/941

Dilettante_Pro 16.06.2017 16:22

рони,
Или вы об этом?
Цитата:

UNIX-время (англ. Unix time) или POSIX-время — система описания моментов во времени, принятая в UNIX и других POSIX-совместимых операционных системах. Определяется как количество секунд, прошедших с полуночи (00:00:00 UTC) 1 января 1970 года (четверг); время с этого момента называют «эрой UNIX» (англ. Unix Epoch).
Ну, во-первых,
Цитата:

Сообщение от rafaello
Мне надо получить из всех этих разных форматов значение в секундах или миллисекундах unix

Я специально указал, что результат в миллисекундах. А перевести миллисекунды в секунды - .....

рони 16.06.2017 17:08

Dilettante_Pro,
ок!


Часовой пояс GMT +3, время: 06:41.