http://starushkaqu.livejournal.com/ (
starushkaqu.livejournal.com) wrote in
useless_faq2007-03-27 08:28 pm
ещё вопрос про летнее время
в России часы переводят в последнее воскресенье марта,
то есть число каждый год разное.
Каким образом мобильники, видаки, двд (некоторых марок)
сами переключаются на летнее время?
Откуда они знают, когда переводиться?
Допустим, в них заложена программа лет на 20 вперёд,
но в разных странах перевод происходит в разные дни.
Значит, получается,
если телефон сам переключился - "белый",
а если нет - "серый" импорт???
то есть число каждый год разное.
Каким образом мобильники, видаки, двд (некоторых марок)
сами переключаются на летнее время?
Откуда они знают, когда переводиться?
Допустим, в них заложена программа лет на 20 вперёд,
но в разных странах перевод происходит в разные дни.
Значит, получается,
если телефон сам переключился - "белый",
а если нет - "серый" импорт???
no subject
Поверьте, все эти даты с легкостью вычисляются путем нехитрых арифметических операций :)
no subject
верю.
потому как на вопрос собссна и не ответили...
no subject
либо фсб всем присылает точное время, что бы шпионить было удобно
no subject
no subject
компы в выключенном состоянии и без инета тоже безошибочно переводят время
BIOS трудится))
no subject
no subject
no subject
просто опция такая (есть или нет)
no subject
но меня смутил вопрос про разные страны.
хотя вот мой мобильник перехода на летнее и зимнее время не делает. может и вправду - это запрограммировано только для поставляемых в Россию телефонов?
no subject
no subject
но почему-то мобильники одних марок эту инфу ловят, а других марок - нет???
вот и вопрос был:
это просто опция в мобиле (есть опция или нет, в каждой модели по-разному)
или же мобильник по серому импорту ввезён, нелегально
ну, вобщем, не получилось узнать, чё интересовало.
или вопрос неверно сформулирован,
или никто из местных не знает ответа(((
no subject
no subject
предназначенный для другой страны - там да, может не быть каких-то функций или языков.
по большей части такая техника просит установку страны проживания - для автоматической настройки (например частотной сетки каналов в случае двд/тв). или сама ее легко может получить - в случае мобильника.
Даты считаются по примитивному алгоритму на любой срок вперед.
no subject
у нас дома из пяти русифицированных телефонов, купленных в России
два (одной марки) сами переключились на летнее время
а три других (разных марок) - нет
значит, не от сигнала оператора связи это зависит?
а от чего?
ответ на вопрос так никто и не дал ((
no subject
большинство телефонов просто не умеют это делать - вот и все.
те что имеют, в 99.9% переключаются по внутренним вычислениям, а не сигналу оператора (дата и время должны быть корректно установлены).
телефоны одной модели могут иметь разные версии прошивки (встроенной программы). а в прошивку входит всё - и языковые блоки и доп.функции и настройки сетей и т.п...
кроме того в настройках телефона просто может быть отключена данная функция.
у меня вот двд постоянно пытается с канала время обновить. а так как идет и спутник и кабель и местный эфир, то время скачет, поэтому я просто отключил эту функцию.
no subject
Очень легко рассчитывается..
no subject
страны же на разной широте, в разных полушариях
no subject
no subject
no subject
no subject
xD
no subject
:)
no subject
А еще я там одну закрывающую скобку забыл, да :D
no subject
В телефоне очень много маленьких календариков!
и чё?
все поупражнялись в остроумии с переменным успехом
на вопрос никто не ответил
Re: и чё?
если телефон знает что нынче март и по календарику поймёт, что это последнее воскресенье?
no subject
no subject
no subject
Второй вариант часто приводит к неправильным результатам. Всем желающим вычислить момент перевода часов на 20 лет вперед - пример: меньше двух лет назад в США решением конгресса перевод часов был передвинут на пару недель. Сильно завидую умению предугадывать решения законодательных органов с таким опережением :))
no subject
no subject
Вот программа, которая расчитывает даты.
#include <stdlib.h> #include <stdio.h> #define DAYS1Y 365 #define DAYS4Y (365*4+1) #define DAYS100Y (DAYS4Y*25-1) #define DAYS400Y (DAYS100Y*4+1) #define GVC (31+29) /* смещение на 1 марта 0 года (1 г до н. э.)*/ char monthnames[13][4] = {"нул", "янв", "фев", "мар", "апр", "май", "июн", "июл", "авг", "сен", "окт", "ноя", "дек"}; char weekdaynames[8][3] = {"не", "пн", "вт", "ср", "чт", "пт", "сб", "вс"}; int main(int argc, char *argv[]) { int date = atoi(argv[1]); /* кол-во дней от 1 марта 0 года по юлианскому календарю */ int year; /* год */ int month; /* месяц */ int day; /* день месяца */ int weekday; /* день недели */ int week; /* неделя */ int dst; /* летнее время */ int leap; /* високосный год */ int d; /* день в году */ int x; d = date; weekday = (date+2)%7+1; x = d/DAYS400Y; year = x*400; d -= x*DAYS400Y; /* 400-летний високосный цикл */ x = d/DAYS100Y; year += x*100; d -= x*DAYS100Y; /* 100-летний високосный цикл */ x = d/DAYS4Y; year += x*4; d -= x*DAYS4Y; /* 4-летний високосный цикл */ x = d/DAYS1Y; year += x; d -= x*DAYS1Y; /* годовой цикл */ month = (d*5-3)/153; /* аппроксимация 31 30 31 30 31 31 30 31 30 31 31 28+ */ day = d - (month*153+3)/5 + 1; month += 3; d = d+31+28; if(month>12) year ++, month -= 12, d -= DAYS1Y; if(year%4==0 && year%100!=0 || year%400==0) leap = 1; else leap = 0; if(month>2) d += leap; week = (d-weekday+1)/7; dst = month>3 && month<=10; if(month==3 || month==10) if(day-weekday>=25 || weekday==7 && day>=25) dst = !dst; printf("%d-%s-%d, неделя: %d, %s, день года: %d, летнее время: %d\n", day, monthnames[month], year, week, weekdaynames[weekday], d, dst); return 0; }ужос какой!
постепенно разобрались вроде ))
no subject