VBScript представляет даты внутренне как двойные, дни с «года 0» в части слева от десятичной точки и миллисекунды с полуночи в течение текущего дня справа от десятичной. «Год 0», по-видимому, равен 1899, еслиКак конфертировать из эпохи JScript в/из эпохи VBScript?
WScript.Echo Year(CDate(0))
можно доверять.
JScript, с другой стороны, начинается с «года 0» 1970 года и представляет время как общее количество миллисекунд с этого момента до настоящего времени.
Может ли кто-нибудь указать мне код, который позволяет преобразовать даты JScript в даты VBScript и обратно по этим строкам, используя базовый двойной или длинный формат даты?
Там что-то неладно с этим кодом. Если я установил ch на 1336708766790 (11-May-2012 11: 59: 26.790), а затем запустил этот код, он говорит: VB Epoch: 41040.1662731481 VB Дата: 11/05/2012 3:59:26 AM JS Эпоха От VB Эпоха: 1336708766000 – bugmagnet
@boost На самом деле нет. Он основан на GMT, как и должно быть. JS показывает, что локальные даты зависят от операционной системы, локали или браузера. например 'new Date (1336708766790)' будет возвращать '11-May-2012 06: 59: 26.790' для меня beacuse часового пояса. Если вы хотите локализовать дату, вам необходимо получить текущее смещение часового пояса. Я обновил ответ об этом. –
js возвращает миллисекунды, поэтому parseInt ((новая дата) .getTime()/1000) = proper_epoch. – ekerner