VB Now.Ticks эквивалент в JavaScript - PullRequest
4 голосов
/ 16 марта 2011

Как я могу повторить это в JavaScript?

Now.Ticks.ToString

Ответы [ 5 ]

8 голосов
/ 16 марта 2011

Нет реального эквивалента.Вы задаете два вопроса:

  1. Как узнать текущую дату и время в javascript?Это легко, просто напишите

    var now = new Date();
    
  2. Как узнать количество тиков с 1 января 0001 года?Это сложнее, потому что javascript работает не с тиками, а с миллисекундами, и вместо этого смещение составляет 1 января 1970 года.

    Вы можете начать с now.getTime(), чтобы получить миллисекунды с 1 января 1970 года, а затем умножить это на 10000. Я только что подсчитал количество тиков между 0001-01-01 и 1970-01-01,и это 621355968000000000. Если вы также учитываете часовой пояс, результирующий код выглядит следующим образом:

    function getTicks(date)
    {
        return ((date.getTime() - date.getTimezoneOffset() * 60000) * 10000) + 621355968000000000;
    }
    

Теперь getTicks(new Date()) получит тот же результат, что и Now.Ticks.ToString вVB.Net с погрешностью в 1 миллисекунду.

4 голосов
/ 16 марта 2011
var date = new Date();
var ticks = date.getTime();

getTime возвращает количество миллисекунд с 1 января 1970 года

1 голос
/ 18 марта 2011

Попробуйте использовать TimeSpan.TicksPerMillisecond для своих тиков, если точность не является проблемой.

0 голосов
/ 16 марта 2011

Самая быстрая и простая версия была бы ...

//get string version of time to the nearest millisecond
var now = "" + new Date().getTime();

//Though in most cases its easier to keep it as a number, and just concatinate in your output somewhere
document.title = "Now it is: " + new Date().getTime();
0 голосов
/ 16 марта 2011

Это не приятно, но вот ваш ответ: http://codemonkey.joeuser.com/article/308527

DateTime.Ticks представляет количество интервалов в 100 наносекунд, прошедших с 12:00:00 до полуночи января1-е, 0001.

JavaScript имеет Date.getTime(), который измеряет количество миллисекунд с 1 января 1970 года, так что если вы ищете что-то уникальное, вы можете использовать это.Очевидно, что это не сравнимо с DateTime.Ticks.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...