คุณจะได้รับเวลาปัจจุบันของวันได้อย่างไร


269

คุณได้รับเวลาปัจจุบันอย่างไร (ไม่ใช่วันที่และเวลา)

ตัวอย่าง: 5:42:12 PM

คำตอบ:


391

DateTime.Now.TimeOfDayให้มันเป็นTimeSpan(จากเที่ยงคืน)

DateTime.Now.ToString("h:mm:ss tt")ให้มันให้คุณเป็นสตริง

การอ้างอิง DateTime: https://msdn.microsoft.com/en-us/library/system.datetime


25
DateTime.NowShowTimeString () ทำเช่นเดียวกับข้อเสนอแนะที่สอง
Kyle Trauberman

4
เกือบจะเหมือนกันมันส่งคืนสตริง แต่ขาดส่วนวินาทีไป
Kyle Trauberman

12
.ToString ("HH: mm: ss tt") จะให้เวลา 17:42:12 PM ในขณะที่. ToString ("h: mm: ss tt") จะให้เวลา 17:42:12 น.
Merenzo

6
@ ไคล์ - ไม่ค่อยแม่นยำ 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 ของคุณ คำถามคือ"ฉันจะได้รับเวลาของวัน"ซึ่งคำตอบทั้งหมดตอบ การ downvoting ของคุณเป็นเพราะคุณอ่านคำถามว่า"วิธีจัดรูปแบบชั่วโมงเช่น5:00 PM"ในขณะที่ OP เท่านั้น (และอย่างชัดเจน) กล่าวถึงรูปแบบวันที่เฉพาะนั้นเป็นตัวอย่าง คุณยังได้ลดคำตอบของ @ Musikero31ในขณะที่กล่าวถึงหน้าเว็บที่ทุกคนสามารถค้นหาสตริงรูปแบบที่พวกเขากำลังมองหา
CodeCaster

หลังจากอ่านคำถามอีกครั้งฉันคิดว่าคุณไม่ผิด แต่ฉันก็ไม่ผิดเหมือนกันเพราะถ้านี่เป็นคำถามทั่วไปตามที่คุณเสนอแล้วผู้ตอบส่วนใหญ่เข้าใจผิดเพราะคำตอบของพวกเขานั้นไม่ใช่เรื่องทั่วไป แต่เฉพาะเจาะจง โดยรวมแล้วฉันคิดว่าคำถามอาจชัดเจนกว่านี้มาก "ฉันยกเลิก -1 ของคุณ" หมายความว่าอย่างไร
anar khalilov

@Anar เป็นรูปแบบDateTime.Nowเป็นสตริงต้องรูปแบบที่พวกเขาจะวางในบางสิ่งบางอย่าง นั่นไม่ได้ทำให้คำตอบไม่ถูกต้อง แต่ถ้าคุณคิดว่าควรมีรูปแบบอื่นคุณสามารถแก้ไขได้อย่างอิสระ ฉันหมายถึงฉัน upvote คำตอบ downvote
CodeCaster

1
หากไม่มีความเข้าใจผิดใด ๆ ที่พวกเขาจะทำให้ทุกรุ่นไม่ใช่สิ่งที่คำนึงถึงเป็นอันดับแรก เราทุกคนรู้ว่า SO นั้นเป็นคนใจกว้างมากที่พยายามตอบยาก แต่ใช่เราไม่เบี่ยงเบนจากหัวข้อมากนัก ทั้งหมดที่ฉันสามารถพูดได้ก็คือฉันจะตรวจสอบ -1 ทั้งหมดของฉันและตัดสินใจอีกครั้ง
anar khalilov



12

จะดีกว่านี้ลองใช้อันนี้

    DateTime.Now.ToShortTimeString();

สำหรับสิ่งนี้คุณไม่จำเป็นต้องระบุรูปแบบสำหรับเวลา




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

ขอแสดงความนับถือ
K




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 Web Application

"'" + 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แทรกที่ส่วนท้ายของบรรทัด

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.