Як ви отримуєте поточний час доби?


269

Як ви отримуєте поточний час (не дату І час)?

Приклад: 17:42:12

Відповіді:


391

DateTime.Now.TimeOfDayдає це вам як TimeSpan(з півночі).

DateTime.Now.ToString("h:mm:ss tt")дає це вам як рядок .

Посилання на DateTime: https://msdn.microsoft.com/en-us/library/system.datetime


25
DateTime.Now.ToShortTimeString () робить те саме, що і друга пропозиція.
Кайл Трауберман

4
ну, майже так само, він повертає рядок, але не вистачає секундної частини часу.
Кайл Трауберман

12
.ToString ("HH: mm: ss tt") дасть вам 17:42:12 PM, тоді як .ToString ("h: mm: ss tt") дає вам 17:42:12 PM.
Меренцо

6
@Kyle - не зовсім точний. ToShortTimeString повертає час у вибраному користувачем форматі короткого часу, як зазначено в регіональних налаштуваннях Windows.
BlackWasp



25

Поточний час із позначкою AM / PM:

DateTime.Now.ToString("hh:mm:ss tt", System.Globalization.DateTimeFormatInfo.InvariantInfo)
DateTime.Now.ToString("hh:mm:ss.fff tt", System.Globalization.DateTimeFormatInfo.InvariantInfo)

Поточний час, використовуючи позначення 0-23 години:

DateTime.Now.ToString("HH:mm:ss", System.Globalization.DateTimeFormatInfo.InvariantInfo)
DateTime.Now.ToString("HH:mm:ss.fff", System.Globalization.DateTimeFormatInfo.InvariantInfo)

3
@Anar, я розв’язав твої -1. Питання "Як мені отримати час доби" , на яке всі відповідають. Ваше зволікання викликане тим, що ви читаєте питання як "Як форматувати години як 5:00 PM" , тоді як ОП лише (і явно) згадував цей конкретний формат дати як приклад. Ви навіть прихильнили відповідь @ Musikero31 , хоча вона згадує сторінку, де кожен може шукати рядок формату, який шукає.
CodeCaster

Прочитавши ще раз питання, я думаю, ви не помиляєтесь. Але я не помиляюся, тому що якщо це загальне питання, як ви пропонуєте, то більшість відповідачів неправильно зрозуміли це питання, оскільки їх відповіді не є загальними, а конкретними. Загалом, я думаю, питання могло бути набагато чіткішим. До речі, що означає "я розв’язав ваші -1"?
анар халілов

@Anar як форматування DateTime.Nowу вигляді рядка вимагає в форматі, вони повинні були покласти в чому - то . Це не дає поганих відповідей, але якщо ви думаєте, що має бути інший формат, сміливо їх редагуйте. Я мав на увазі, що я відхилив відповіді, які не підтримують.
CodeCaster

1
Якби не було помилок, вони б поставили всі версії, а не те, що спочатку приходить на думку. Всі ми знаємо, що ТА дуже щедрий для людей, які намагаються відповісти. Але так, не будемо сильно відходити від теми. Я можу сказати лише те, що я перегляну всі свої -1 і прийму рішення ще раз.
анар халілов


15

Ось і ми:

 DateTime time = DateTime.Now;
 Console.WriteLine(time.ToString("h:mm:ss tt"));

2
tЧасу повинна бути заголовної. Виправлено це для вашого.
Програміст

12

Це буде краще, Спробуйте це

    DateTime.Now.ToShortTimeString();

Для цього вам не потрібно вказувати формат часу.


11
DateTime.Now.ToString("yyyy-MM-dd h:mm:ss tt");

просто спробуйте це використовувати повністю для ваших потреб



8

Отримайте поточну дату та час, а потім просто використовуйте її частину часу. Подивіться на можливості форматування рядка часу дати в документах MSDN .



3

Для обчислення поточного часу часу:

DateTime theDate = DateTime.UtcNow;

string custom = theDate.ToString("d");

MessageBox.Show(custom);


2

Це покаже лише поточний час у форматі 24 години:

class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine(DateTime.Now.ToLongTimeString().ToString());
        Console.WriteLine(DateTime.Now.ToShortTimeString().ToString());
        Console.ReadLine();
    }
}

З повагою
К



2
MyEmail.Body = string.Format("The validation is done at {0:HH:mm:ss} Hrs.",DateTime.Now);

Може використовувати {0:HH:mm:ss}, {0:HH:mm:ss.fff}, {0:DD/mm/yyy HH:mm:ss}і т.д. ...


1

Я також експериментую з цим, і вважаю ці сторінки також корисними. Перший основний клас ... https://msdn.microsoft.com/en-us/library/system.datetime(v=vs.110).aspx

Тепер кілька форматів специфікаторів методу ToString ... https://msdn.microsoft.com/en-us/library/system.globalization.datetimeformatinfo(v=vs.110).aspx

Приклад:

using System;

namespace JD
{
    class Program
    {
        public static DateTime get_UTCNow()
        {
            DateTime UTCNow = DateTime.UtcNow;
            int year = UTCNow.Year;
            int month = UTCNow.Month;
            int day = UTCNow.Day;
            int hour = UTCNow.Hour;
            int min = UTCNow.Minute;
            int sec = UTCNow.Second;
            DateTime datetime = new DateTime(year, month, day, hour, min, sec);
            return datetime;
        }

        static void Main(string[] args)
        {
            DateTime datetime = get_UTCNow();            

            string time_UTC = datetime.TimeOfDay.ToString();
            Console.WriteLine(time_UTC);

            Console.ReadLine();

        }
    }
}

Я кинув цей метод TimeOfDay туди, щоб лише показати, що ви отримуєте за замовчуванням 24 години, як зазначено "час з півночі"

Ви можете скористатися моїм методом гетеру (); :-D


1

Скористайтеся наведеним нижче кодом

DateTime.Now.ToString("h:mm:ss tt")

Чим це відрізняється від найвищої відповіді?
Cray

-6

Спробуйте це. Він працює для мене у веб-додатку 3tier Architecture.

"'" + DateTime.Now.ToString() + "'"

Будь ласка, запам'ятайте Одиночні котирування у Вкладеному запиті

Наприклад:

string Command = @"Insert Into CONFIG_USERS(smallint_empID,smallint_userID,str_username,str_pwd,str_secquestion,str_secanswer,tinyint_roleID,str_phone,str_email,Dt_createdOn,Dt_modifiedOn) values ("
 + u.Employees + ","
 + u.UserID + ",'"
 + u.Username + "','"
 + u.GetPassword() + "','"
 + u.SecQ + "','"
 + u.SecA + "',"
 + u.RoleID + ",'"
 + u.Phone + "','"
 + u.Email + "','"
 + DateTime.Now.ToString() + "','"
 + DateTime.Now.ToString() + "')";

DateTimeВставки в кінці рядка.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.