Вопрос: Работа со временем в VB.NET | Добавлено: 07.05.06 17:12 |
Автор вопроса: ![]() |
Есть ли в VB.NET что-нибудь по работе со временем? нужно менять часовой пояс на заданный, спасибо! |
Ответы | Всего ответов: 35 |
Номер ответа: 1 Автор ответа: ![]() ![]() ![]() ![]() ![]() Вопросов: 58 Ответов: 4255 ![]() |
Профиль | Цитата | #1 | Добавлено: 08.05.06 02:09 |
System.TimeZone
|
Номер ответа: 2 Автор ответа: ![]() ![]() ![]() Вопросов: 2 Ответов: 19 |
Профиль | Цитата | #2 | Добавлено: 08.05.06 08:05 |
EROS
Благодарен, но можеш сделать пример? методом научного тыка у меня не получилось ![]() |
Номер ответа: 3 Автор ответа: ![]() ![]() ![]() ![]() ![]() Вопросов: 58 Ответов: 4255 ![]() |
Профиль | Цитата | #3 | Добавлено: 08.05.06 11:52 |
при нажатии на кнопку часовой пояс менялся на GMT -03:00
Что-то я не совсем тебя понял.. менялся ГДЕ??? Ты, конкретней излагай задачу.. Если речь идет о системном времени.. то это уже совершенно другая тема, и TimeZone тут не помощник.. Этот класс помогает лишь с пересчетами времени в разных часовых поясах.. |
Номер ответа: 4 Автор ответа: ![]() ![]() ![]() Вопросов: 2 Ответов: 19 |
Профиль | Цитата | #4 | Добавлено: 08.05.06 13:14 |
менялся ГДЕ???
Ну вот у меня щас время 13.00, мне нужно по нажатию на кнопку у меня часовой пояс менялся и следовательно время менялось на то какое щас в этом часовом поясе ![]() ![]() |
Номер ответа: 5 Автор ответа: ![]() ![]() ![]() ![]() ![]() Вопросов: 58 Ответов: 4255 ![]() |
Профиль | Цитата | #5 | Добавлено: 09.05.06 00:26 |
Вот так ты можешь изменить системное время на нужное:
Imports System.Runtime.InteropServices
<StructLayout(LayoutKind.Sequential)> _ Structure SYSTEMTIME <MarshalAs(UnmanagedType.U2)> _ Dim wYear As Short <MarshalAs(UnmanagedType.U2)> _ Dim wMonth As Short <MarshalAs(UnmanagedType.U2)> _ Dim wDayOfWeek As Short <MarshalAs(UnmanagedType.U2)> _ Dim wDay As Short <MarshalAs(UnmanagedType.U2)> _ Dim wHour As Short <MarshalAs(UnmanagedType.U2)> _ Dim wMinute As Short <MarshalAs(UnmanagedType.U2)> _ Dim wSecond As Short <MarshalAs(UnmanagedType.U2)> _ Dim wMilliseconds As Short End Structure Public Class Form1 Private Declare Function SetSystemTime Lib "kernel32" (ByRef lpSystemTime As SYSTEMTIME) As Int32 Private Declare Sub GetSystemTime Lib "kernel32" (ByRef lpSystemTime As SYSTEMTIME) Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim SysTime As New SYSTEMTIME 'Получаем системное время GetSystemTime(SysTime) '-03:00 SysTime.wHour -= 3 'Устанавливаем новое SetSystemTime(SysTime) End Sub End Class А что касается часового пояса, то это не более чем запись в реестре. Вся инфа находится в ветке LocalMachine\Software\Microsoft\Windows NT\CurrentVersion\Time Zones
|
Номер ответа: 6 Автор ответа: ![]() ![]() ![]() Вопросов: 2 Ответов: 19 |
Профиль | Цитата | #6 | Добавлено: 09.05.06 07:21 |
Спасибо! буду пробовать |
Номер ответа: 7 Автор ответа: ![]() ![]() ![]() Вопросов: 2 Ответов: 19 |
Профиль | Цитата | #7 | Добавлено: 09.05.06 07:21 |
Спасибо! буду пробовать |
Номер ответа: 8 Автор ответа: ![]() ![]() ![]() Вопросов: 2 Ответов: 19 |
Профиль | Цитата | #8 | Добавлено: 17.05.06 01:33 |
Чо то я не понимаю есть время 3:35 PM (у меня по USA) делаю так
SysTime.wHour = 4 SysTime.wMinute = 45 далжно быть так 4:45 PM а получаеться так 8:45 PM, не пойму нечего...может быть чтото не так указываю? или из-за того что не указываю PM или AM? P.S AM до полудня PM после полудня |
Номер ответа: 9 Автор ответа: ![]() ![]() ![]() ![]() ![]() Вопросов: 58 Ответов: 4255 ![]() |
Профиль | Цитата | #9 | Добавлено: 17.05.06 02:43 |
Чо то я не понимаю есть время 3:35 PM (у меня по USA)
3:35 PM-это то время которое ты видишь(15:35), т.е. отображаемое! т.е. это ситемное время +/- поправка на часовой пояс!!! Системное же время на этот момент совершенно другое! во первых оно храниться без всяких там АМ - РМ .. в обычном 24-х часовом формате. Ты сначала посмотри, ЧТО тебе вернула GetSystemTime и тогда все станет на свои места... |
Номер ответа: 10 Автор ответа: ![]() ![]() ![]() Вопросов: 2 Ответов: 19 |
Профиль | Цитата | #10 | Добавлено: 17.05.06 03:04 |
Чтото не могу воспользоваться GetSystemTime, как посматреть реальное системное время? блин...а что теперь делать? можно просто взять и внаглую воткнуть нужное время несмотря на часовой пояс? или как легче всего установить нужное время? помогите пожалуйста, НУ ОЧЕНЬ нужно...плизз |
Номер ответа: 11 Автор ответа: ![]() ![]() ![]() Вопросов: 2 Ответов: 19 |
Профиль | Цитата | #11 | Добавлено: 17.05.06 03:05 |
GetSystemTime в каком формате то? не в MsgBox не в TextBox не могу вывести...помогите решить проблему |
Номер ответа: 12 Автор ответа: ![]() ![]() Вопросов: 6 Ответов: 11 |
Профиль | Цитата | #12 | Добавлено: 17.05.06 09:07 |
Для возвращения текущей системной даты и времени используется: Dim objToday As Date = DateTime.Today
Dim objToday As Date = DateTime.Now |
Номер ответа: 13 Автор ответа: ![]() ![]() Вопросов: 6 Ответов: 11 |
Профиль | Цитата | #13 | Добавлено: 17.05.06 09:27 |
Dim strToday As String
strToday = Format(TimeOfDay, “MM/dd/yyyy h:mm am/pm”) TextBox = strToday |
Номер ответа: 14 Автор ответа: ![]() ![]() ![]() ![]() ![]() Вопросов: 58 Ответов: 4255 ![]() |
Профиль | Цитата | #14 | Добавлено: 17.05.06 10:24 |
Gennadei, ему надо не текущее а СИСТЕМНОЕ время!! |
Номер ответа: 15 Автор ответа: ![]() ![]() ![]() ![]() ![]() Вопросов: 58 Ответов: 4255 ![]() |
Профиль | Цитата | #15 | Добавлено: 17.05.06 10:30 |
GetSystemTime в каком формате то? не в MsgBox не в TextBox не могу вывести...
Ну,блин ты даешь... ты вообще про отладку приложения что нибудь слышал? а про breakpoint, debug.writeline, console.writeline???? в моем примере получается системное время, так вот поставь точку останова на SysTime.wHour -= 3 , и когда программана на этой строке остановится, наведи курсор на SysTime, и во высплывающей подсказке тебе будет расписана ВСЯ структура SYSTEMTIME.Именно в этом формате там все тебе и возвращается!!! |
|