您如何获得一天中的当前时间?


269

您如何获取当前时间(而不是日期和时间)?

示例:下午5:42:12

Answers:


391

DateTime.Now.TimeOfDayTimeSpan(从午夜开始)提供给您。

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”)会给您5:42:12 PM。
Merenzo 2011年

6
@Kyle-不太准确。ToShortTimeString以用户选择的短时间格式返回时间,如Windows的区域设置中所指定。
BlackWasp 2012年



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,而仅OP(明确地)提到了该特定日期格式作为示例。您甚至低估了@ Musikero31的答案,它提到了任何人都可以在其中查找所需格式字符串的页面。
CodeCaster

再次阅读问题后,我认为您没有错。但是我也没有错,因为如果这是您所建议的一般性问题,那么大多数回答者会误解了这个问题,因为他们的回答不是一般性的而是具体的。总而言之,我认为问题可能更加清楚。顺便说一句,“我取消了您的-1”是什么意思?
anar khalilov 2014年

@Anar为格式化DateTime.Now为一个字符串,需要一个格式,他们不得不把在东西。答案并没有那么糟糕,但是如果您认为应该有其他格式,请随时对其进行编辑。我的意思是我赞成被拒绝的答案。
CodeCaster 2014年

1
当初有没有他们将不得不把所有的版本没有任何misundestandings 东西在首先出现在脑海。我们都知道,SO对尝试回答的人们非常慷慨。但是,是的,我们不要偏离这个主题太多。我只能说我将复习所有-1,然后再决定。
anar khalilov 2014年


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

只需尝试即可满足您的全部需求




5

这可能是一种解决方案:

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

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



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/zh-cn/library/system.datetime(v=vs.110).aspx

现在,ToString方法的一些说明符格式... https://msdn.microsoft.com/zh-cn/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小时制,如“从午夜开始的时间”所述

您可以使用我的geter method(); :-D



-6

试试这个。它适用于3tier Architecture Web应用程序。

"'" + 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在该行的末端插入。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.