Bagaimana Anda mendapatkan waktu hari ini?

269

Bagaimana Anda mendapatkan waktu saat ini (bukan tanggal DAN waktu)?

Contoh: 5:42:12 PM

Yahia
sumber

Jawaban:

391

DateTime.Now.TimeOfDaymemberikannya kepada Anda sebagai TimeSpan(dari tengah malam).

DateTime.Now.ToString("h:mm:ss tt")memberikannya kepada Anda sebagai string .

Referensi DateTime: https://msdn.microsoft.com/en-us/library/system.datetime

Mark Brackett
sumber
25
DateTime.Now.ToShortTimeString () melakukan hal yang sama dengan saran kedua.
Kyle Trauberman
4
baik, hampir sama, mengembalikan string tetapi hilang bagian detik waktu.
Kyle Trauberman
12
.ToString ("HH: mm: ss tt") akan memberi Anda 17:42:12, sedangkan .ToString ("h: mm: ss tt") memberi Anda 5:42:12 PM.
Merenzo
6
@Kyle - tidak cukup akurat. ToShortTimeString mengembalikan waktu dalam format waktu singkat yang dipilih pengguna, seperti yang ditentukan dalam pengaturan wilayah Windows.
BlackWasp
46

Coba ini:

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

Untuk format lain, Anda dapat memeriksa situs ini: C # Format DateTime

Musikero31
sumber
43

Opsi lain menggunakan String.Format ()

string.Format("{0:HH:mm:ss tt}", DateTime.Now)
Chris Fulstow
sumber
25

Waktu sekarang dengan penanda 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)

Waktu saat ini menggunakan notasi 0-23 jam:

DateTime.Now.ToString("HH:mm:ss", System.Globalization.DateTimeFormatInfo.InvariantInfo)
DateTime.Now.ToString("HH:mm:ss.fff", System.Globalization.DateTimeFormatInfo.InvariantInfo)
Oposisi
sumber
3
@Anar, saya membuka kancing -1 Anda. Pertanyaannya adalah "Bagaimana saya mendapatkan waktu" , yang dijawab oleh semua orang. Downvoting Anda adalah karena Anda membaca pertanyaan sebagai "Cara memformat jam seperti 5:00 PM" , sedangkan OP saja (dan secara eksplisit) menyebutkan format tanggal tertentu sebagai contoh. Anda bahkan downvoted jawaban @ Musikero31 , sementara itu menyebutkan halaman di mana siapa pun dapat mencari string format yang mereka cari.
CodeCaster
Setelah membaca pertanyaan itu lagi, saya pikir Anda tidak salah. Tetapi saya juga tidak salah karena jika ini adalah pertanyaan umum seperti yang Anda usulkan, maka sebagian besar penjawab telah salah memahami pertanyaan tersebut karena jawaban mereka tidak umum tetapi spesifik. Secara keseluruhan, saya pikir pertanyaannya bisa lebih jelas. Ngomong-ngomong, apa maksudnya "I undid your -1"?
anar khalilov
@Anar sebagai format DateTime.Nowsebagai string membutuhkan sebuah format yang, mereka harus dimasukkan ke dalam sesuatu . Itu tidak membuatnya menjadi jawaban yang buruk, tetapi jika Anda berpikir harus ada format lain, silakan mengeditnya. Maksud saya, saya mengangkat jawaban-jawaban yang diturunkan.
CodeCaster
1
Seandainya tidak ada kesalahpahaman mereka akan menempatkan semua versi bukan sesuatu yang dipikirkan terlebih dahulu. Kita semua tahu bahwa SO sangat murah hati kepada orang-orang yang berusaha keras untuk menjawab. Tapi ya, jangan menyimpang dari topik banyak. Yang bisa saya katakan adalah bahwa saya akan meninjau semua -1 saya dan memutuskan lagi.
anar khalilov
24
DateTime.Now.TimeOfDay

atau

DateTime.Now.ToShortTimeString()
benPearce
sumber
15

Kita mulai:

 DateTime time = DateTime.Now;
 Console.WriteLine(time.ToString("h:mm:ss tt"));
praguan
sumber
2
Dalam twaktu harus dikapitalisasi. Memperbaikinya untuk Anda.
Programmer
12

Ini akan lebih baik, Coba yang ini

    DateTime.Now.ToShortTimeString();

Untuk ini, Anda tidak perlu menentukan Format untuk Waktu.

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

Coba saja. Gunakan sepenuhnya untuk Kebutuhan Anda

Gupta
sumber
9

Datetime.TimeOfDaymengembalikan TimeSpandan mungkin apa yang Anda cari.

Stefan Schultze
sumber
8

Dapatkan tanggal dan waktu saat ini, maka gunakan saja bagian waktu itu. Lihatlah kemungkinan untuk memformat string waktu tanggal dalam dokumen MSDN .

Greg D
sumber
5

Ini bisa menjadi solusi yang mungkin:

DateTime now = DateTime.Now;
string time = now.ToString("T");
Hannan Hossain
sumber
3

Untuk menghitung datetime saat ini:

DateTime theDate = DateTime.UtcNow;

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

MessageBox.Show(custom);
sadhana
sumber
3
var CurDate= DateTime.Now;
CurDate.Hour;
CurDate.Minute;
CurDate.Millisecond
Sarat Chandra
sumber
2

Ini hanya akan menunjukkan kepada Anda waktu saat ini, dalam format 24 jam:

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

Salam
K

Khb
sumber
2

sangat sederhana DateTime.Now.ToString("hh:mm:ss tt")

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

Can Gunakan {0:HH:mm:ss}, {0:HH:mm:ss.fff}, {0:DD/mm/yyy HH:mm:ss}, dll ...

David Castro
sumber
1

Saya juga bereksperimen dengan ini dan menemukan halaman-halaman ini bermanfaat juga. Pertama kelas utama ... https://msdn.microsoft.com/en-us/library/system.datetime(v=vs.110).aspx

Sekarang beberapa format specifier untuk metode ToString ... https://msdn.microsoft.com/en-us/library/system.globalization.datetimeformatinfo(v=vs.110).aspx

Contoh:

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();

        }
    }
}

Saya melemparkan metode TimeOfDay di sana hanya untuk menunjukkan bahwa Anda mendapatkan waktu default 24 jam seperti yang dinyatakan "waktu mulai tengah malam"

Anda dapat menggunakan metode pengambil saya (); :-D

Douglas G. Allen
sumber
1

Gunakan kode di bawah ini

DateTime.Now.ToString("h:mm:ss tt")
Bijeesh Raghavan
sumber
Bagaimana hal ini berbeda dari jawaban pilihan tertinggi?
Cray
-6

Coba yang ini. Ini bekerja untuk saya di Aplikasi Web Arsitektur 3tier.

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

Harap ingat Kutipan Tunggal di dalam kueri sisipan.

Sebagai contoh:

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() + "')";

The DateTimepenyisipan pada akhir baris.

Albert
sumber