Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 1 | 2 | 3 |

 

  Вопрос: Работа со временем в VB.NET Добавлено: 07.05.06 17:12  

Автор вопроса:  Alexei1
Есть ли в VB.NET что-нибудь по работе со временем? нужно менять часовой пояс на заданный, спасибо!

Ответить

  Ответы Всего ответов: 35  

Номер ответа: 1
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #1 Добавлено: 08.05.06 02:09
System.TimeZone

Ответить

Номер ответа: 2
Автор ответа:
 Alexei1



Вопросов: 2
Ответов: 19
 Профиль | | #2 Добавлено: 08.05.06 08:05
EROS
Благодарен, но можеш сделать пример? методом научного тыка у меня не получилось :) при нажатии на кнопку часовой пояс менялся на GMT -03:00, спасибо

Ответить

Номер ответа: 3
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #3 Добавлено: 08.05.06 11:52
при нажатии на кнопку часовой пояс менялся на GMT -03:00

Что-то я не совсем тебя понял.. менялся ГДЕ???
Ты, конкретней излагай задачу.. Если речь идет о системном времени.. то это уже совершенно другая тема, и TimeZone тут не помощник.. Этот класс помогает лишь с пересчетами времени в разных часовых поясах..

Ответить

Номер ответа: 4
Автор ответа:
 Alexei1



Вопросов: 2
Ответов: 19
 Профиль | | #4 Добавлено: 08.05.06 13:14
менялся ГДЕ???

Ну вот у меня щас время 13.00, мне нужно по нажатию на кнопку у меня часовой пояс менялся и следовательно время менялось на то какое щас в этом часовом поясе :) ну это можно сделать через стандартные часы в системе, но надо программно менять, надеюсь нормально объяснил? :)

Ответить

Номер ответа: 5
Автор ответа:
 EROS



Вопросов: 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
Автор ответа:
 Alexei1



Вопросов: 2
Ответов: 19
 Профиль | | #6 Добавлено: 09.05.06 07:21
Спасибо! буду пробовать

Ответить

Номер ответа: 7
Автор ответа:
 Alexei1



Вопросов: 2
Ответов: 19
 Профиль | | #7 Добавлено: 09.05.06 07:21
Спасибо! буду пробовать

Ответить

Номер ответа: 8
Автор ответа:
 Alexei1



Вопросов: 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
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #9 Добавлено: 17.05.06 02:43
Чо то я не понимаю есть время 3:35 PM (у меня по USA)

 3:35 PM-это то время которое ты видишь(15:35), т.е. отображаемое! т.е. это ситемное время +/- поправка на часовой пояс!!! Системное же время на этот момент совершенно другое! во первых оно храниться без всяких там АМ - РМ .. в обычном 24-х часовом формате. Ты сначала посмотри, ЧТО тебе вернула GetSystemTime и тогда все станет на свои места...

Ответить

Номер ответа: 10
Автор ответа:
 Alexei1



Вопросов: 2
Ответов: 19
 Профиль | | #10 Добавлено: 17.05.06 03:04
Чтото не могу воспользоваться GetSystemTime, как посматреть реальное системное время? блин...а что теперь делать? можно просто взять и внаглую воткнуть нужное время несмотря на часовой пояс? или как легче всего установить нужное время? помогите пожалуйста, НУ ОЧЕНЬ нужно...плизз

Ответить

Номер ответа: 11
Автор ответа:
 Alexei1



Вопросов: 2
Ответов: 19
 Профиль | | #11 Добавлено: 17.05.06 03:05
GetSystemTime в каком формате то? не в MsgBox не в TextBox не могу вывести...помогите решить проблему

Ответить

Номер ответа: 12
Автор ответа:
 Gennadei



Вопросов: 6
Ответов: 11
 Профиль | | #12 Добавлено: 17.05.06 09:07
Для возвращения текущей системной даты и времени используется:
Dim objToday As Date = DateTime.Today
Dim objToday As Date = DateTime.Now

Ответить

Номер ответа: 13
Автор ответа:
 Gennadei



Вопросов: 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
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #14 Добавлено: 17.05.06 10:24
 Gennadei, ему надо не текущее а СИСТЕМНОЕ время!!

Ответить

Номер ответа: 15
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #15 Добавлено: 17.05.06 10:30
GetSystemTime в каком формате то? не в MsgBox не в TextBox не могу вывести...

Ну,блин ты даешь... ты вообще про отладку приложения что нибудь слышал? а про breakpoint, debug.writeline, console.writeline????
в моем примере получается системное время, так вот поставь точку останова на SysTime.wHour -= 3 , и когда программана на этой строке остановится, наведи курсор на SysTime, и во высплывающей подсказке тебе будет расписана ВСЯ структура SYSTEMTIME.Именно в этом формате там все тебе и возвращается!!!

Ответить

Страница: 1 | 2 | 3 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам