|
v7: Смещение времени часового пояса - как получить? | ☑ | ||
---|---|---|---|---|
0
Злопчинский
28.06.16
✎
16:02
|
например,
есть комп, на компе есть база, в базе есть документ с временем (положение на оси времени)= 12:00:00 необходимо время документа (для выгрузки наружу) привести к UTC+0. вопрос: как на компе получить смещение времени - в данном случае часовой пояс на компе = Москва (UTC+3) - вот надо как раз получить значение +3 - как? Спсб. |
|||
1
lubitelxml
28.06.16
✎
16:31
|
напиши вк, через виндовый api стопудов может это получить
|
|||
2
FIXXXL
28.06.16
✎
16:32
|
УниверсальноеВремя есть в 7.7?
|
|||
3
Ёпрст
28.06.16
✎
17:09
|
(0) смотри в сторону
GetTimeZoneInformation |
|||
4
NikVars
28.06.16
✎
17:14
|
(3) И еще зона может гулять +-час...
|
|||
5
Beretta
28.06.16
✎
17:34
|
(0)
|
|||
6
NikVars
28.06.16
✎
17:37
|
(5) А как тут решается проблема ошибки зоны +- час?!
|
|||
7
ptiz
28.06.16
✎
17:45
|
еще можно покурить
"Select * from Win32_TimeZone" |
|||
8
Beretta
28.06.16
✎
17:48
|
(6) Нет никакой ошибки. Есть необновленные ОС, которые не знают про правильные часовые пояса. Любые средства получения будут возвращать только то, что знает ОС.
Впрочем, можно позвать Serginio1, он расскажет как получать через дотнет и вебсокеты время на серверах Вашингтона. |
|||
9
Злопчинский
29.06.16
✎
00:31
|
Понял. спасибо. как-то так это все и представлял. завтра попробую встроить ларечнику (выгрузка в Гифтоман-сервис" - облако консолидации чеков)
|
|||
10
Злопчинский
29.06.16
✎
00:32
|
Виста и старше не покатит. как минимум должно работать в хрюне
|
|||
11
Злопчинский
29.06.16
✎
00:57
|
проверил (5) на винсервер2008r2
- работает. |
|||
12
Злопчинский
29.06.16
✎
01:12
|
(7) осилил методом подобия по (5)
Функция ВариантСкрипт2() Скрипт= СоздатьОбъект("MSScriptControl.ScriptControl"); Скрипт.Language="vbscript"; Скрипт.AddCode(" |function GetGMTOffset() | set Service = GetObject(""winmgmts:\\.\root\cimv2"") | set colTimeZone = Service.ExecQuery(""Select * from Win32_TimeZone"") | for each objTimeZone In colTimeZone | GetGMTOffset = objTimeZone.Bias/60 | exit for | next |end function |"); Сдвиг = Скрипт.Run("GetGMTOffset"); Возврат Сдвиг; КонецФункции |
|||
13
Злопчинский
29.06.16
✎
01:13
|
дышим (курить вредно) здесь мало-мало https://msdn.microsoft.com/en-us/library/aa394498(v=vs.85).aspx
|
|||
14
Злопчинский
29.06.16
✎
01:22
|
(3) я - собака.
почитал интернет понял. но сам говорить не могу. не программер я... как вызвать из 1С - хз |
|||
15
Злопчинский
29.06.16
✎
01:24
|
интернет - великая вещь
но все пути ведут на мисту. Епрст раскололся (моложе тогда был, неопытнее, болтал много) jscript в 1с |
|||
16
Garykom
29.06.16
✎
01:25
|
(12) Это чушь полная ибо на целевом компе может быть кривой +GMT (неправильный часовой пояс).
Особенно это вероятно на хрюне без синхронизации времени и отменах/вводах перевода времени на летнее/зимнее. Т.е. часы то стоят верно, а вот пояс в системе нет. Нужно смотреть и смещение/пояс из системы и сравнить текущее время со временем по UTC полученным по инету. |
|||
17
Злопчинский
29.06.16
✎
01:32
|
(16) угу, если инет есть.
и даже если есть - откуда узнать что в инете время верное - может там тоже за системой никто не следит ;-) |
|||
18
Злопчинский
29.06.16
✎
01:35
|
вариант от абрахамса
Функция ВариантСкрипт3() Скрипт=СоздатьОбъект("MSScriptControl.ScriptControl"); Скрипт.Language="jscript"; Сдвиг=Скрипт.Eval("new Date()").getTimezoneOffset(0); Возврат Сдвиг/60; КонецФункции .. правда нифига не понял getTimezoneOffset(0) - ноль в скобках это что? индекс в структуре? |
|||
19
Garykom
29.06.16
✎
01:40
|
Вот реально пример решения "ненужной задачи".
Сделать в обработке выгрузки обязательную настройку "укажите корректировку для часового пояса данных в базе" и дальше уже "выгружальщик" пусть себе репу чешет. В скобках для понятливости что от него хотят написать "Например Москва +3". |
|||
20
Злопчинский
29.06.16
✎
02:26
|
(19) это для сильно умных юзверей. фантом. моргана. мечта.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |