Метка эпохи Unix через API ( другие связанные со временем Субтитры) Обновлено! – VB 5.0, VB 6.0, VB Script – База кода

Скачать

Название (оригинал): UNIX Epoch Timestamp via API ( Other Time-Related Subs) Updated!

Описание:
Англ (оригинал)This module is a collection of various time functions, including the generation of GMT offset UNIX Epoch timestamps, Leap Year calculation, Days In Month calculation, and the completely unique GetTimeZoneOffset(), GetCurrentTimeZoneOffset() and isDaylightSavings() functions! I was unable to find any VB code for timestamp generation, so I had to make my own! Have you ever needed to compare dates that were created in two different countries? If so then you’ve probably run into the differences in dates in various regions of the world. The US formats dates as “mm/dd/yy” where as most of the rest of the world uses “dd/mm/yy”. This is all fine and good, until you need to compare one to the other. According to VB’s documentation, the date format is defined by the local systems settings. This has the effect of improper comparison when equating dates generated in two different regions. IE – is CDate(“3/4/03”) March 4th or April 3rd? VB makes the assumption that the date was generated on the local system, so if the local system’s format is different then the system that generated the date it will be incorrect. It becomes even more fun when dealing with other languages! CDate(“Mar 4, 2003”) will generate an error on a non English machine as “Mar” is not a recognized month or abbreviation. Utilizing a GMT offset UNIX Epoch timestamp can avert this issue. The timestamp is the number of seconds that have elapsed since the epoch (January 1 1970 00:00:00 GMT). So instead of storing “3/4/03” you store “1046700000” which is the number of seconds between March 4th, 2003 and the epoch. Best of all, this module allows you to convert back from a timestamp into a date variable, allowing you to format it for the local user. ** In a nutshell, utilizing a timestamp in place of a locally formatted date will allow you to correctly compare dates no matter what language or format was used during the creation of either date you’re attempting to compare. ** The other unique functionality of this module is the GetTimeZoneOffset(), GetCurrentTimeZoneOffset() and isDaylightSavings() functions. These allow you to determine the Time Zone Offset and Current Time Zone Offset of the local system. IE – Canberra, Australia is GMT 10:00, so 10 is Canberra’s Time Zone Offset. During summer daylight savings, Canberra’s Current Time Zone Offset is 9. If you didn’t follow that, then you’ll probably never need this functionality (but it’s in here if you do)! The rest of the functions are pretty standard, though well-commented and optimized functions concerning leap year and days in a month calculation. The module is pretty well tested, but your mileage may vary. Please leave a comment or send an email if you find a bug or have a new feature to add or request! Thank and enjoy! UPDATED – (Finially) fixed the leap year bug. Please let me know if you find any issues!
Рус (машинный)Этот модуль представляет собой набор различных временных функций, включая генерирование смещения GMT эпохи Unix. метки, високосный год расчет, дней в месяце расчета, и совершенно уникальный GetTimeZoneOffset(), GetCurrentTimeZoneOffset() и isDaylightSavings() функции! Я не мог найти любой код VB для генерации отметок времени, так что я должен был сделать свой собственный! Вам когда-нибудь нужно сравнить даты, которые были созданы в двух разных странах? Если так, то вы, вероятно, столкнуться с различиями в датах в различных регионах мира. Американские форматы даты \”мм/ДД/гг\”, где, как большая часть остального мира пользуется \”ДД/мм/гг\”. Это все прекрасно и хорошо, пока не нужно сравнивать одно с другим. Согласно документации в. Б., Формат даты определяется параметрами локальных систем. Это неправильное сравнение, когда приравнивание даты, созданные в двух разных регионах. Т. е. – это функция cdate(\”3/4/03\”) 4 марта или 3 апреля? ВБ делает предположение, что дата был создан на локальном компьютере, так что если местные системы Формат другой системы, которая генерируется Дата будут неверными. Это становится еще больше удовольствия при работе с другими языками! Функция cdate(\”4 марта 2003\”) будет генерировать сообщение об ошибке на английском языке машина \”марта\” не признали, месяц или аббревиатура. Используя смещения GMT метка эпохи Unix может предотвратить эту проблему. Timestamp-это количество секунд, прошедших с начала эпохи (1 января 1970 00:00:00 МСК). Поэтому вместо того, чтобы хранить \”3/4/03\” хранить \”1046700000\” – количество секунд между 4 марта 2003 года и эпохи. Лучший из всех, этот модуль позволяет конвертировать обратно с отметкой времени в переменную даты, что позволяет отформатировать его для локального пользователя. ** В двух словах, используя метку времени в локальном формате даты позволит вам правильно сравнивать даты без разницы какой язык или Формат был использован при создании любой день вы пытаетесь сравнить. ** Другой уникальный функционал данного модуля является GetTimeZoneOffset(), GetCurrentTimeZoneOffset() и isDaylightSavings() функции. Это позволит вам определить смещение часового пояса и текущее смещение часового пояса локальной системы. Т. е. – Канберра, Австралия по Гринвичу 10:00, так что 10-это Часовой пояс Канберры смещения. В летнее время переход на летнее время, Часовой пояс Канберры смещения 9. Если Вы не выполните это, то вы, вероятно, не нужны эти функции (но это здесь, если вы делаете)! Остальные функции вполне стандартные, хоть и хорошо прокомментирован и оптимизированные функции, касающиеся високосного года и дней в расчет месяц. Модуль достаточно хорошо проверены, но ваш пробег может варьироваться. Пожалуйста, оставьте комментарий или отправить по электронной почте если вы нашли ошибку или есть возможность добавить или запроса! Спасибо и наслаждайтесь! Обновление (Finially) Исправлена ошибка високосного года. Пожалуйста, дайте мне знать, если вы обнаружите какие-либо вопросы!

база кода