Памятка по переводу часов для пользователей iOS в России. Отправка личных сообщений вконтакте задним числом

Если отображается неверная дата, время или часовой пояс либо не удается автоматически переходить на летнее время на устройстве с ОС iOS, в этой статье указано, что потребуется сделать.

Проверка настроек

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

  1. Убедитесь, что на устройстве установлена .
  2. Включите функцию «Автоматически» 1 в меню «Настройки» > «Основные» > «Дата и время». Это . Если доступно , устройство сообщит об этом.
  3. Убедитесь, что устройство отображает правильный часовой пояс, выбрав «Настройки» > «Основные» > «Дата и время» > «Часовой пояс».

Если требуется дополнительная помощь

Если устройство по-прежнему отображает неверную дату, время или часовой пояс 2 , измените каждый параметр вместо использования функции «Автоматически». Например, на устройстве может быть установлена ОС iOS 9 или более ранней версии, а правительство страны или региона приняло решение о смене часового пояса или вводе летнего времени (DST). В таком случае выполните следующие действия.

  1. Перейдите в меню «Настройки» > «Основные» > «Дата и время».
  2. Выключите функцию «Автоматически».
  3. Теперь можно изменить часовой пояс или дату и время следующим образом 3 .
    • Выберите пункт «Часовой пояс» и укажите город с необходимым часовым поясом. Не знаете, какой город следует указать? Используйте карту часовых поясов по адресу timeanddate.com для поиска города с часовым поясом, который соответствует вашим потребностям.
    • Можно также нажать дату для изменения даты и времени.
  1. В сетях некоторых операторов, а также в некоторых странах и регионах включение функции «Автоматически» может не поддерживаться.
  2. Если на устройстве iOS отображается неправильное время после синхронизации данного устройства с компьютером, возможно, на компьютере заданы неверные настройки времени. Проверьте настройки времени, заданные на компьютере в меню «Системные настройки» > «Дата и время». Можно выбрать настройку «Получать дату и время с сервера».
  3. Ручные настройки параметров времени для изменения действий программы (подобно таймерам в играх) не рекомендуются.

Привет! iPhone очень многофункциональное устройство - тут тебе и позвонить, и выйти в интернет, и поиграть. Да все что угодно! Можно даже узнать сколько сейчас времени (сарказм) - хотя, вот с этим иногда случаются проблемы.

И проблемы эти бывают такого характера:

  1. Часы не идут в заблокированном режиме.
  2. Опаздывают (идут вперед) на час или два.
  3. Сбиваются или не обновляются после подключения к интернету и iTunes.

Короче, подсказать «Который час?» при помощи iPhone становится просто невозможно. Время не работает! Самое интересное, что, как правило, все остальное функционирует «как надо», поэтому пользователь и не понимает, что происходит. iPhone-то вроде работоспособный и «засада» только с часами.

Небольшой «спойлер» - проблема скорей всего аппаратная, и если есть возможность, стоит отнести устройство по гарантии. Для тех кто не знает как это сделать правильно - .

Как заставить iPhone показывать точное время - настройки iOS

Начинаем с самого простого - все действия можно сделать в домашних условиях. Открываем «Настройки - Основные - Дата и время» и экспериментируем:

Согласен, действий придется выполнить много. Но лениться не стоит, ведь все они нужны для того, чтобы исключить «программные» причины сбоя в отображении времени на iPhone и уже перейти к «железным» проблемам...

Не идут часы на заблокированном iPhone - что сломалось?

Несмотря на то что в начале статьи я отметил тот факт, что частенько время не работает «само по себе» (все остальные функции iPhone «в порядке»), параллельные поломки также случаются. Например:

  • Отваливается Wi-Fi и Bluetooth.
  • Навигация (местоположение) то определяется, то нет.
  • iPhone отключается сам и быстро разряжается.

Чаще всего, все это идет в совокупности с главной темой статьи - время идет только тот момент, когда устройством пользуются. Стоит заблокировать iPhone - часы сразу же останавливаются и начинают отставать. Все вышеперечисленное - это ваш случай? У меня для вас неутешительные новости, вот причина проблем:



В принципе, в ремонте кварца или контроллера питания нет ничего страшного - многие сервисные центры знают и умеют это делать. Другое дело, что какое-никакое профессиональное оборудование и навык для данной процедуры необходим - неподготовленному человеку в домашних условиях отремонтировать не получится. Поэтому, лучше обратиться к профессионалам.

Примечание: это гостевой пост. Статья написана одним из читателей блога.

Здравствуйте. Сегодня мы научимся изменять дату отправки личных сообщений в социальной сети ВКонтакте. Хочу сказать сразу, что я не рассказываю что-то новое. В интернете полно аналогичных методов и я сам какие-то куски кода брал оттуда. Поэтому, не судите строго.

Итак, во первых, нам нужно иметь полный доступ к двум аккаунтам ВК. Например, первый аккаунт Ваш, а второй фэйковый. Во вторых, Вы должны иметь хоть какие-то азы в программировании. Но не волнуйтесь. Большую часть работы сделаю я сам. Все способы являются легкими и быстрыми в исполнении из-за «дыр» в данной социальной сети. Однако, нет гарантий, что каждый метод у Вас будет работать. Но хоть один точно сработает.

Первый способ. Метод вложенной переписки.

Алгоритм : создаем переписку, редактируем, меняем дату, отсылаем назад в виде пересылки.
Самым обычным способом, создаем переписку между двумя аккаунтами ВКонтакте. Подключаем каждый аккаунт к API. Для этого достаточно перейти по данной ссылке и разрешить сбор информации с аккаунта:

https://oauth.vk.com/authorize?client_id=3245775&redirect_uri=http://api.vk.com/blank.html&scope=messages&display=page&response_type=token

В следствии, приложению будут доступны все данные пользователя. Не забудьте запомнить свой токен.

# -*- coding: utf-8 -*- import codecs import ConfigParser import datetime import json import sys import urllib2 from urllib import urlencode import vk_auth def _api(method, params, token): params.append(("access_token", token)) url = "https://api.vk.com/method/%s?%s" % (method, urlencode(params)) return json.loads(urllib2.urlopen(url).read())["response"] # read config values Config = ConfigParser.ConfigParser() Config.read("config.ini") login = Config.get("auth", "username") password = Config.get("auth", "password") messages_id = Config.get("messages", "chat_id") messages_type = Config.get("messages", "chat_type") app_id = Config.get("application", "app_id") # some chat preparation if messages_type == "interlocutor": is_chat = False elif messages_type == "chat": is_chat = True else: sys.exit("Messages type must be either interlocutor or chat.") # auth to get token try: token, user_id = vk_auth.auth(login, password, app_id, "messages") except RuntimeError: sys.exit("Incorrect login/password. Please check it.") sys.stdout.write("Authorized vk\n") # get some information about chat selector = "chat_id" if is_chat else "uid" messages = _api("messages.getHistory", [(selector, messages_id)], token) out = codecs.open("vk_exported_dialogue_%s%s.txt" % ("ui" if not is_chat else "c", messages_id), "w+", "utf-8") human_uids = ] # Export uids from dialogue. # Due to vk.api, start from 1. for i in range(1, 100): try: if messages[i]["uid"] != human_uids: human_uids.append(messages[i]["uid"]) except IndexError: pass # Export details from uids human_details = _api("users.get", [("uids", ",".join(str(v) for v in human_uids))], token) human_details_index = {} for human_detail in human_details: human_details_index] = human_detail def write_message(who, to_write): out.write(u"[{date}] {full_name}:\n {message} \n\n\n".format(**{ "date": datetime.datetime.fromtimestamp(int(to_write["date"])).strftime("%Y-%m-%d %H:%M:%S"), "full_name": "%s %s" % (human_details_index["first_name"], human_details_index["last_name"]), "message": to_write["body"].replace("", "\n") })) mess = 0 max_part = 200 # Due to vk.api cnt = messages sys.stdout.write("Count of messages: %s\n" % cnt) while mess != cnt: # Try to retrieve info anyway while True: try: message_part = _api("messages.getHistory", [(selector, messages_id), ("offset", mess), ("count", max_part), ("rev", 1)], token) except Exception as e: sys.stderr.write("Got error %s, continue...\n" % e) continue break try: for i in range(1, 201): write_message(message_part[i]["uid"], message_part[i]) except IndexError: break result = mess + max_part if result > cnt: result = (mess - cnt) + mess mess = result sys.stdout.write("Exported %s messages of %s\n" % (mess, cnt)) out.close() sys.stdout.write(‘done!\n")

Далее, для простоты, поставим одну и ту же дату на все сообщения. Я не претендую на оптимизированный код и очевидно, что его можно ужать, но я хочу продемонстрировать как можно подробную работу парсера с подобными XML:

While (true) { doc = XDocument . Load("https://api.vk.com/method/messages.getHistory.xml?uid=12345&offset=" + m + "&count=200&access_token=" + token); foreach (XElement el in doc . Root . Elements()) { if (el . Name . ToString() == "message") { foreach (XElement el_msg in el . Elements()) { if (el_msg . Name == "date") { foreach (XElement el_date in el_msg . Elements()) { if (el_date . Name == " 1403320931") { el_date . Name = "1403429673"; // то есть меняем дату на любую другую k++; } } } } } } m += 200; }

Я думаю, что основная идея здесь понятна. Осталось вернуть сообщения на сервер. Для этого нам понадобиться функция message.send(). Объект message должен обратиться к полю date, но сервер ВКонтакте устанавливает время у себя на сервере сам. Однако, если мы отправим сообщения как вложенную переписку — все получиться.

Наши письма должны имеют вложенную структуру, значит надо вызывать метод парсинга рекурсивно. Но в Java можно поступить проще. Всё, что находиться внутри цикла forEach, мы будем помещать в отдельный класс. В следствии, в методе accept будет происходить всё то, что было бы в теле цикла. В VkApiMessage есть поле fwd_messages. В нем будет хранится список из объектов пересланных сообщений VkApiMessage:

Private static class MessageConsumer implements Consumer { @Override public void accept(VKApiMessage message) {} } messages.stream().forEach(new MessageConsumer()); if (!message.fwd_messages.isEmpty()) { System.out.println("

"); message.fwd_messages.forEach(new MessageConsumer()); System.out.println("
"); }

В общем, результат выглядит ничем не хуже оригинала в ВК:

Второй способ. Метод изменения GMT на сервере.

Алгоритм : меняем время на сервере, отправляем сообщения.

Второй метод несколько легче первого, так как нам не нужно старые(но измененные) сообщения возвращать назад на сервер (кстати, иногда, это не получается сделать из-за “глупого” сервера). Второй же способ работает более надежно.

Здесь нам не нужны готовые сообщения. Мы их создадим сами и перешлем на сервер, предварительно изменив GMT (часовой пояс). Для таких целей нам понадобиться абузоустойчивый VPS. Желательно на базе CentOS.

Сначала, меняем время и дату на сервере. Опять же, это можно сделать любым другим способом. Можно так:

# mv /etc/localtime /etc/localtime.bak ln -s /usr/share/zoneinfo/Europe/USA /etc/localtime # date MMDDhhmm # date 03182015 # man date

Настраиваем наш сервер под данные сервера ВК:
IP:87.240.182.185
Browser: Mozilla/5.0 (compatible; vkShare; +http://vk.com/dev/Share)
Port: 36035
Host: srv185-182-240-87.vk.com

Не забываем про регистрация на API (см. Первый способ). Отправляем сообщения через уже знакомую функцию message.send().

Объект message, описывающий личное сообщение, возвращает поле “date” — дата отправки сообщения в формате unixtime. Обратите внимание на фразу “дата отправки”. Ничего не говорится про дату получения сообщения сервером ВКонтакте.

Вот и все. Результат аналогичный первому. Все очень просто.

Третий способ. Сниффер трафика.

Алгоритм : качаем/покупаем сниффер, радуемся.
Самый простой метод. Но, к сожалению, методика зависит от качества программы, которую мы качаем из интернета.
Итак, можно просто попробовать скачать/купить что-то типо Charles, словить запрос, редактировать его (дату) и дублировать. Программа перехватывает пакет, меняет время отправки внутри пакета и отправляет контакту. Сервис ВК получает уже заданное unixtime сообщение. Таких снифферов в интернете куча. Но качественных и бесплатных найти сложно. Однако, они стоят не так дорого.


Как Вы уже поняли, отправить личное сообщение задним числом не составляет труда. Я не написал выше полностью все коды, а только самые необходимые и сложные. Дописать остальные, думаю, не составит труда. Большое спасибо.

Этим утром тысячи владельцев техники Apple в России схватили телефон и задали себе одинаковый вопрос. Сколько времени сейчас на самом деле? Многие из нас отучились доверять смартфону свой распорядок после неоднократных купертиновцев с автоматическим переводом стрелок системных часов. С тех пор многое изменилось.

В этой статье мы поможем вам разобраться, стоит ли переводить время на iOS вручную. Рекомендации касаются всех существующих мобильных устройств Apple.

Хорошая новость для владельцев гаджетов с iOS 8.1 : волноваться не стоит. Их смартфон справился с задачей самостоятельно, пока они спали. Будильники должны были сработать в правильное время, а все задания в календаре остаться на своих местах. iOS 8 и производные тоже в теме. В общем, всё в порядке, отдыхаем.

Если вы до сих пор используете iOS 7.1.x , вы отстаёте не только от прогресса, но и от ритма страны. Бегом в Настройки –> Основные –> Дата и время . Отключаем пункт Автоматически и выставляем время на один час назад. То же самое касается всех тех, кто застрял на совсем старых версиях прошивки, включая iOS 6, 5, 4 и 3 всех версий.

Россия – страна необъятная. Теперь у нас вновь есть 11 часовых поясов. Если вы живете в Самарской и Кемеровской областях, а также в Удмуртии , Камчатке и Чукотке , стрелки на ваших часах вообще не надо переводить. Другое дело, если вы встретили рассвет в Забайкальском крае или Магаданской области: вам следует вернуть себе не один, а целых 2 часа активной жизни.


Если вы всё ещё сомневаетесь, сколько времени сейчас на самом деле, откройте Google и введите туда слово «время».

Доброе утро!

Хочешь получать от нас новости Apple? Да | Нет

сайт Этим утром тысячи владельцев техники Apple в России схватили телефон и задали себе одинаковый вопрос. Сколько времени сейчас на самом деле? Многие из нас отучились доверять смартфону свой распорядок после неоднократных фиаско купертиновцев с автоматическим переводом стрелок системных часов. С тех пор многое изменилось. В этой статье мы поможем вам разобраться, стоит ли переводить время...
Статьи по теме: