Làm thế nào để bạn có được thời gian hiện tại trong ngày?


269

Làm thế nào để bạn có được thời gian hiện tại (không phải ngày VÀ thời gian)?

Ví dụ: 5:42:12 PM

Câu trả lời:


391

DateTime.Now.TimeOfDayđưa nó cho bạn như một TimeSpan(từ nửa đêm).

DateTime.Now.ToString("h:mm:ss tt")đưa nó cho bạn như một chuỗi .

Tham chiếu DateTime: https://msdn.microsoft.com/en-us/l Library / system.datetime


25
DateTime.Now.ToShortTimeString () thực hiện giống như đề xuất thứ hai.
Kyle Trauberman

4
tốt, gần như giống nhau, nó trả về một chuỗi nhưng thiếu phần giây của thời gian.
Kyle Trauberman

12
.ToString ("HH: mm: ss tt") sẽ cung cấp cho bạn 17:42:12 PM, trong khi .ToString ("h: mm: ss tt") mang lại cho bạn 5:42:12 PM.
Merenzo

6
@Kyle - không hoàn toàn chính xác. ToShortTimeString trả về thời gian ở định dạng thời gian ngắn đã chọn của người dùng, như được chỉ định trong cài đặt vùng của Windows.
BlackWasp


43

Một tùy chọn khác sử dụng String.Format ()

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

25

Thời gian hiện tại với chỉ định 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)

Thời gian hiện tại sử dụng ký hiệu 0-23 giờ:

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

3
@Anar, tôi cởi quần áo -1 của bạn. Câu hỏi là "Làm thế nào để tôi có được thời gian trong ngày" , mà tất cả các câu trả lời trả lời. Việc bạn bỏ qua là vì bạn đọc câu hỏi là "Cách định dạng giờ như 5:00 PM" , trong khi OP chỉ (và rõ ràng) đề cập đến định dạng ngày cụ thể đó làm ví dụ. Bạn thậm chí đã đánh giá thấp câu trả lời của @ Musikero31 , trong khi nó đề cập đến trang nơi bất kỳ ai cũng có thể tra cứu chuỗi định dạng mà họ đang tìm kiếm.
CodeCaster

Sau khi đọc lại câu hỏi, tôi nghĩ bạn không sai. Nhưng tôi cũng không sai vì nếu đây là một câu hỏi chung chung như bạn đề xuất, thì hầu hết những người trả lời đã hiểu sai câu hỏi vì câu trả lời của họ không chung chung nhưng cụ thể. Nói chung, tôi nghĩ câu hỏi có thể rõ ràng hơn nhiều. Nhân tiện, "I undid your -1's" nghĩa là gì?
anar khalilov

@Anar là định dạng DateTime.Nownhư một chuỗi yêu cầu một định dạng, họ phải đặt một cái gì đó . Điều đó không làm cho nó trở thành câu trả lời tồi, nhưng nếu bạn nghĩ cần có một định dạng khác, hãy thoải mái chỉnh sửa chúng. Tôi có nghĩa là tôi nêu lên các câu trả lời bị bỏ qua.
CodeCaster

1
Nếu không có bất kỳ hành vi sai trái nào, họ sẽ đặt tất cả các phiên bản không phải là thứ xuất hiện trong tâm trí. Chúng ta đều biết rằng SO rất hào phóng với những người cố gắng trả lời. Nhưng vâng, chúng ta đừng đi chệch khỏi chủ đề nhiều. Tất cả những gì tôi có thể nói là tôi sẽ xem lại tất cả -1 của mình và quyết định lại.
anar khalilov

24
DateTime.Now.TimeOfDay

hoặc là

DateTime.Now.ToShortTimeString()

15

Ở đây chúng tôi đi:

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

2
Trong tthời gian nên được viết hoa. Đã sửa nó cho bạn.
Lập trình viên

12

Điều này sẽ tốt hơn, Hãy thử cái này

    DateTime.Now.ToShortTimeString();

Đối với điều này, bạn không cần chỉ định Định dạng cho Thời gian.


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

Chỉ cần dùng thử Nó sử dụng đầy đủ theo nhu cầu của bạn


9

Datetime.TimeOfDaytrả về một TimeSpanvà có thể là những gì bạn đang tìm kiếm.


8

Lấy ngày giờ hiện tại, sau đó chỉ cần sử dụng phần thời gian của nó. Xem xét các khả năng định dạng chuỗi thời gian ngày trong tài liệu MSDN .


5

Đây có thể là một giải pháp có thể:

DateTime now = DateTime.Now;
string time = now.ToString("T");

3

Để tính thời gian hiện tại:

DateTime theDate = DateTime.UtcNow;

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

MessageBox.Show(custom);


2

Điều này sẽ chỉ hiển thị cho bạn thời gian hiện tại, ở định dạng 24 giờ:

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

Lời chúc mừng
K



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

Có thể sử dụng {0:HH:mm:ss}, {0:HH:mm:ss.fff}, {0:DD/mm/yyy HH:mm:ss}, vv ...


1

Tôi cũng đang thử nghiệm điều này và thấy những trang này cũng hữu ích. Đầu tiên là lớp chính ... https://msdn.microsoft.com/en-us/l Library / system.datetime (v = vs.110) .aspx

Bây giờ một số định dạng chỉ định cho phương thức ToString ... https://msdn.microsoft.com/en-us/l Library / system.globalization.datetimeformatinfo (v = vs.110) .aspx

Thí dụ:

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

        }
    }
}

Tôi đã ném phương thức TimeOfDay vào đó chỉ để cho thấy rằng bạn nhận được mặc định là 24 giờ như đã nói "thời gian từ nửa đêm"

Bạn có thể sử dụng phương thức geter của tôi (); : -D


1

Sử dụng mã dưới đây

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

Điều này khác với câu trả lời được bình chọn cao nhất như thế nào?
Cray

-6

Hãy thử cái này Nó hoạt động với tôi trong Ứng dụng web Kiến trúc 3tier.

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

Hãy nhớ các trích dẫn đơn trong truy vấn chèn.

Ví dụ:

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

Việc DateTimechèn vào cuối dòng.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.