Scripts discussion (1)

Discuss and announce AkelPad plugins
Locked
  • Author
  • Message
Offline
Posts: 1873
Joined: Mon Aug 06, 2007 1:07 pm
Contact:

Post by Infocatcher »

В любом бы формате из таких: 00:00:00 01.01.1999 или 00:00:00 01/01/1999 или 01/01/1999 00:00:00.
День/месяц/год? Тогда можно без дополнительных подсказок со стороны пользователя различать.

Offline
Posts: 139
Joined: Fri Feb 12, 2010 11:33 am

Post by Deim0s »

Infocatcher,
День/месяц/год?
В общем и целом хотелось бы: HH/mm/ss dd/MM/yyyy
К примеру, нужно изменить много TimeStamp, выглядящих так:
Image
Сейчас я копирую Unix time:
Image
Вставляю в AkelPad, и с Вашим скриптом получаю исчерпывающую информацию:
Image
Но для замены даты на необходимую, приходится лезть в онлайн-калькулятор для пересчёта. Хотелось бы возможность получать и из введённой даты Unix time (или(и :)) hex-значение).
Так бы:
Image

Offline
Posts: 1873
Joined: Mon Aug 06, 2007 1:07 pm
Contact:

Post by Infocatcher »

unixTime.js
Если ничего не напутал. :)
Только с годом в виде двузначной цифры надо будет что-то придумывать. Если вообще надо. :D

Offline
Posts: 139
Joined: Fri Feb 12, 2010 11:33 am

Post by Deim0s »

Infocatcher,
Спасибо за труд. Можно подправить, чтобы Unix time высчитывал в GMT/UTC=0 ?
Сейчас пока заметил такую вещь:
Если в MM (месяце) стоят числа 01 02 03 11 12 - Unix time получается UTC - 3 часа
Если в MM (месяце) стоят числа 04 05 06 07 08 09 10 - Unix time получается UTC - 4 часа

Offline
Posts: 1873
Joined: Mon Aug 06, 2007 1:07 pm
Contact:

Post by Infocatcher »

Deim0s
В смысле высчитывал?
Вроде бы, и так высчитывается.
А UTC+3 или UTC+4 выдает встроенный Date.toString() для для московского времени.


jsBeautifier.js
Updated scripts from http://jsbeautifier.org/: https://github.com/einars/js-beautify/c ... 3dd0549358.
Improved detection of indent level.
Added -onlySelected argument.

Offline
Posts: 139
Joined: Fri Feb 12, 2010 11:33 am

Post by Deim0s »

Infocatcher,
В смысле высчитывал?
Вроде бы, и так высчитывается.
Я имею ввиду: из обычной даты в Unix time получать время UTC = 0.
Вот к примеру если взять текущую время/дату:
00:53:39 03.05.2011
через скрипт получаю
1304369619 (UTC + 4 часа)
а хотелось бы:
1304384019 (UTC = 0)
то есть: всегда получать UTC = 0, без учёта разницы часового пояса и перевода времени. Если возможно сделать, идеально было бы, как то так:
1304384019 UTC
1304369619 UTC+0400

Offline
Posts: 1873
Joined: Mon Aug 06, 2007 1:07 pm
Contact:

Post by Infocatcher »

Если возможно сделать, идеально было бы, как то так:
1304384019 UTC
1304369619 UTC+0400
По-моему, в UTC+0400 должно быть больше.
unixTime-test.js

Offline
Posts: 139
Joined: Fri Feb 12, 2010 11:33 am

Post by Deim0s »

Infocatcher,
По-моему, в UTC+0400 должно быть больше.
Да, тут запутаться можно :), давайте будем считать, что по умолчанию вводится Время/Дата и Unix time в UTC/GMT = 0.
Тогда по порядку выходить должно:
Вводим обычную время/дату (предполагается по умолчанию в UTC/GMT 0):
00:53:39 03.05.2011
В Unix time формате (UTC/GMT 0) - эта дата должна получиться:
1304384019
В UTC/GMT +4 (то есть дата/время по Москве будет 04:53:39 03.05.2011), что является в Unix time:
1304398419
Вроде :) получаться должно так:

Code: Select all

00:53:39 03.05.2011

---------------------------
unixTime.js
---------------------------
3 мая 2011 г. 0:53:39
Tue, 3 May 2011 00:53:39 UTC
Tue May 3 04:53:39 UTC+0400 2011
1304398419000 UTC+0400
1304398419 UTC+0400
0x4dbf8a53 UTC+0400
1304384019000 UTC
1304384019 UTC
0x4dbf5213 UTC
---------------------------
ОК   
---------------------------


Обратно, если предположить, что время в Unix time формате вводится по умолчанию в UTC/GMT 0 также получается:

Code: Select all

1304384019

---------------------------
unixTime.js
---------------------------
3 мая 2011 г. 0:53:39
Tue, 3 May 2011 00:53:39 UTC
Tue May 3 04:53:39 UTC+0400 2011
1304398419000 UTC+0400
1304398419 UTC+0400
0x4dbf8a53 UTC+0400
1304384019000 UTC
1304384019 UTC
0x4dbf5213 UTC
---------------------------
ОК   
---------------------------

Offline
Posts: 1873
Joined: Mon Aug 06, 2007 1:07 pm
Contact:

Post by Infocatcher »

Deim0s
Вроде, осталось только понять, прибавлять или вычитать. :)
А еще у меня в тестовой была ошибка – должно быть date.setMinutes(date.getMinutes() + tzo);

Infocatcher wrote:Очень нужен аналог window.setTimeout().
Еее! Спасибо гуглу и суровым японцам. :)
http://d.hatena.ne.jp/hasegawayosuke/20090930/p1
Вроде бы, все работает, как надо:

Code: Select all

var document = new ActiveXObject("htmlfile");
document.write("<html></html>");
var window = document.parentWindow;
function setTimeout(func, delay) {
	return window.setTimeout(func, delay);
}
function clearTimeout(id) {
	return window.clearTimeout(id);
}
setTimeout(function() {
	WScript.Echo(0);
}, 1000);
setTimeout(function() {
	WScript.Echo(1);
}, 2000);
WScript.Echo("Started");
P.S. Причем эксперимент показывает, что можно и без document.write():

Code: Select all

var window = new ActiveXObject("htmlfile").parentWindow;

Offline
Posts: 1873
Joined: Mon Aug 06, 2007 1:07 pm
Contact:

Post by Infocatcher »

Как можно узнать из скрипта, что он был подключен через Include()?

Идея следующая.
Делаем что-нибудь вроде

Code: Select all

Include("..\\converter.js");
var s = convertToUnicode(GetSelText(), CP_CURRENT);
А в скрипте проверяем, как он был запущен:

Code: Select all

if(!isIncluded()) {
    // Do something...
}
И, соответственно, ничего не делаем, если скрипт был подключен к другому скрипту.

Правда, можно в подключающем скрипте объявить какую-нибудь глобальную переменную:

Code: Select all

var _included = true;
Include("..\\converter.js");
и затем проверять ее наличие

Code: Select all

if(typeof _included == "undefined") { ... }
Но это менее удобно. :)

Offline
Posts: 1873
Joined: Mon Aug 06, 2007 1:07 pm
Contact:

Post by Infocatcher »

Deim0s
Как-то так: unixTime-test.js
С контрольными «1970-01-01 00:00» и «0» работает.

DV
Offline
Posts: 1291
Joined: Thu Nov 16, 2006 11:53 am
Location: Kyiv, Ukraine

Post by DV »

А как насчёт того, чтобі интегрировать функционал UnixTime и вообще работу с датой/временем в CalculatorJS.js?

Offline
Posts: 139
Joined: Fri Feb 12, 2010 11:33 am

Post by Deim0s »

Infocatcher,
Как-то так: unixTime-test.js
Отлично работает. Плюс, намного информативнее и удобнее он-лайн калькулятора. Ещё раз спасибо!

Offline
Site Admin
Posts: 6403
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »

Infocatcher wrote:Как можно узнать из скрипта, что он был подключен через Include()?
Добавлен метод AkelPad.IsInclude().

Offline
Posts: 1873
Joined: Mon Aug 06, 2007 1:07 pm
Contact:

Post by Infocatcher »

Instructor wrote:Добавлен метод AkelPad.IsInclude().
С Вами приятно иметь дело. :)
Locked