Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 5.00/11: Рейтинг темы: голосов - 11, средняя оценка - 5.00
38 / 38 / 16
Регистрация: 04.03.2014
Сообщений: 249

Изменить формат времени с 20:30 на 20.5

10.04.2015, 09:39. Показов 2187. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите пожалуйста.
Как изменить формат времени с 20:30 на 20.5, 20:45 на 20.75 и наоборот?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.04.2015, 09:39
Ответы с готовыми решениями:

Как изменить формат времени?
для ведения логов требуется чтоб в имени файла присутствовало время и дата с датой проблем нет....но время путем получения ...

Как изменить формат времени?
Есть текстовый файл необходимо создать новый, в котором изменен только формат времени Начало следующее #include...

Как изменить формат времени в datagrid?
Как изменить формат времени в datagrid на формат HH:MM:SS.SSS т.к. изначально выводит в таком формате YYYY:MM: DD

24
 Аватар для Nachrichter
649 / 601 / 92
Регистрация: 19.03.2012
Сообщений: 1,128
10.04.2015, 09:54
Цитата Сообщение от vasiliw8 Посмотреть сообщение
Как изменить формат времени с 20:30 на 20.5, 20:45 на 20.75 и наоборот?
А что из себя представляют значения "20.5", "20.75"?
1
38 / 38 / 16
Регистрация: 04.03.2014
Сообщений: 249
10.04.2015, 10:34  [ТС]
Обычные числа, которые можно складывать, отнимать и т.д.
0
 Аватар для Nachrichter
649 / 601 / 92
Регистрация: 19.03.2012
Сообщений: 1,128
10.04.2015, 10:38
vasiliw8, видимо, я не совсем верно сформулировал вопрос. Переформулирую: каков алгоритм получения числа 20.5 из значения времени 20:30? Так понимаю, что 20.5=20:30, т.е. есть какая-то взаимосвязь?
1
38 / 38 / 16
Регистрация: 04.03.2014
Сообщений: 249
10.04.2015, 11:01  [ТС]
20 - это 20 часов, 30- это 30 минут т.е. 0.5 часа
20:30 - это 20.5 часов.
0
Модератор
Эксперт .NET
 Аватар для Yury Komar
4356 / 3426 / 512
Регистрация: 27.01.2014
Сообщений: 6,255
10.04.2015, 11:06
Nachrichter, а думаю, нужно 100/60*Число_минут

Добавлено через 3 минуты
точнее

VB.NET
1
Result = Format(Now,"HH." & 100/60*CInt"mm")
1
38 / 38 / 16
Регистрация: 04.03.2014
Сообщений: 249
10.04.2015, 11:23  [ТС]
Yury Komar,
Цитата Сообщение от Yury Komar Посмотреть сообщение
Result = Format(Now,"HH." & 100/60*CInt"mm")
Как эту строку ввести в VB.NET?
0
Модератор
Эксперт .NET
 Аватар для Yury Komar
4356 / 3426 / 512
Регистрация: 27.01.2014
Сообщений: 6,255
10.04.2015, 11:25
vasiliw8, так и вводи

Добавлено через 38 секунд
вместо Rusult любое место где нужно отобразить полученное время
1
 Аватар для Nachrichter
649 / 601 / 92
Регистрация: 19.03.2012
Сообщений: 1,128
10.04.2015, 11:28
Цитата Сообщение от Yury Komar Посмотреть сообщение
вместо Rusult любое место где нужно отобразить полученное время
vasiliw8, точнее - нужно объявить или заменить Result на свою переменную.
1
38 / 38 / 16
Регистрация: 04.03.2014
Сообщений: 249
10.04.2015, 12:01  [ТС]
VB.NET
1
2
3
4
5
6
7
8
Public Class Form1
 
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim Result
        Result = Format(Now, "HH." & 100 / 60 * CInt("mm"))
        MsgBox(Result.ToString)
    End Sub
End Class
MsgBox не открывается.
Через Debug пишет: Result Nothing
Какой формат переменной объявить?
0
Модератор
Эксперт .NET
 Аватар для Yury Komar
4356 / 3426 / 512
Регистрация: 27.01.2014
Сообщений: 6,255
10.04.2015, 12:43
vasiliw8, f вот, нашел косяк...

VB.NET
1
2
3
4
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        Dim Result As String = Format(Now, "HH." & Math.Round(100 / 60 * Format(Now, "mm")))
        MsgBox(Format(Now, "HH:mm = ") & Result)
    End Sub




vasiliw8, А вот так еще точнее получится, с учётом секунд, думаю это окончательный вариант:

VB.NET
1
2
Dim Result As String = Format(Now, "HH." & Math.Round(100 / 60 * (Format(Now, "mm")) + (Format(Now, "ss") / 100)))
Text = Format(Now, "HH:mm = ") & Result
Добавлено через 9 минут
Ссори, поторопился.

Вот с учётом секунд:
VB.NET
1
Dim Result As String = Format(Now, "HH." & Math.Round(100 / 60 * (Format(Now, "mm")) + Math.Round(100 / 60 * (Format(Now, "ss") / 100))))
Тоесть, раньше 20:35 = 20.50, а сейчас 20:35 = 20.51
2
38 / 38 / 16
Регистрация: 04.03.2014
Сообщений: 249
10.04.2015, 14:47  [ТС]
Извините, надо уехать, приеду скоро проверю.
Спасибо.
0
Модератор
Эксперт .NET
 Аватар для Yury Komar
4356 / 3426 / 512
Регистрация: 27.01.2014
Сообщений: 6,255
10.04.2015, 14:53
vasiliw8, хозяин барин
0
 Аватар для ViterAlex
8951 / 4863 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
10.04.2015, 20:32
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Sub Main()
    Console.WriteLine(TimeToDouble(DateTime.Parse("20:30")))
    Console.WriteLine("{0:hh\:mm}", DoubleToTime(20.5))
    Console.Read()
End Sub
''' <summary>
''' Перевод часов в дробное число
''' </summary>
Private Function TimeToDouble(time As DateTime) As Double
    Dim d = New DateTime(time.Year, time.Month, time.Day)
    Return (time - d).TotalHours
End Function
''' <summary>
''' Перевод дробного числа в часы
''' </summary>
Private Function DoubleToTime(val As Double) As TimeSpan
    Dim d As New DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day)
    Return d.AddHours(val) - d
End Function
6
Модератор
Эксперт .NET
 Аватар для Yury Komar
4356 / 3426 / 512
Регистрация: 27.01.2014
Сообщений: 6,255
10.04.2015, 21:28
ViterAlex, неплохо
0
38 / 38 / 16
Регистрация: 04.03.2014
Сообщений: 249
11.04.2015, 17:14  [ТС]
ViterAlex,
А как это оформить, чтобы в TextBox1 я записал 20:30, нажал на Button1 и в TextBox2 получил 20.5 ?
0
Модератор
Эксперт .NET
 Аватар для Yury Komar
4356 / 3426 / 512
Регистрация: 27.01.2014
Сообщений: 6,255
11.04.2015, 17:36
vasiliw8, а если пораскинуть чуток?

VB.NET
1
2
3
4
5
6
7
8
Textbox2.Text = TimeToDouble(DateTime.Parse(Textbox1.Text))
 
 
'Перевод часов в дробное число
Private Function TimeToDouble(time As DateTime) As Double
    Dim d = New DateTime(time.Year, time.Month, time.Day)
    Return (time - d).TotalHours
End Function
Добавлено через 9 минут
Я бы сделал так в твоем случает

VB.NET
1
TextBox2.Text = Split(TextBox1.Text, ":")(0) & "." & Math.Round(100 / 60 * Split(TextBox1.Text, ":")(1))
0
 Аватар для ViterAlex
8951 / 4863 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
11.04.2015, 17:48
А если ещё пораскинуть то так:
VB.NET
1
TextBox2.Text = TimeSpan.Par se(TextBox1.Texte).TotalHours.ToString()
2
38 / 38 / 16
Регистрация: 04.03.2014
Сообщений: 249
11.04.2015, 19:19  [ТС]
Цитата Сообщение от vasiliw8 Посмотреть сообщение
Подскажите пожалуйста.
Как изменить формат времени с 20:30 на 20.5, 20:45 на 20.75 и наоборот?
Извините, в моем вопросе есть и вторая часть. Если Вам не трудно, то для для второй части, используя
TextBox3.Text = 20.75 изменить в формат времени TextBox4.Text = 20:45.
0
 Аватар для ViterAlex
8951 / 4863 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
11.04.2015, 19:37
Я же дал. Функция DoubleToTime
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
11.04.2015, 19:37
Помогаю со студенческими работами здесь

Изменить формат времени диапазона ячеек
Как изменить формат диапозон ячеек времени из 2:20 рм на 14:20

Как изменить формат даты и времени в Ubuntu 18.04
Подскажите как изменить формат отображения даты и времени в Ubuntu 18.04 в верхней панели? Раньше можно было сделать это при помощи dconf,...

Как изменить формат ввода времени в административном интерфейсе?
Здравствуйте. Я совсем только начал осваивать django и у меня возник вопрос. Предположим есть модель которая описывает новость. ...

Как преобразовать формат String в формат времени?
Dim time1 As date Dim time2 As Date Dim totaltime As Date Dim str As String str = &quot;SELECT Lessons.time FROM Lessons WHERE...

Формат времени
Хочу получить формат в таком виде 00:00:42 А получаю в таком 19 305,75676 (


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru