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

例如:下午5:42:12


timeofday将其作为TimeSpan(从午夜开始)提供给您。

DateTime.Now。ToString("h:mm:ss tt")将其作为字符串提供给您。

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


获取当前日期和时间,然后只使用它的时间部分。看看MSDN文档中格式化日期时间字符串的可能性。


Datetime。TimeOfDay返回一个TimeSpan,可能就是你要找的。


DateTime.Now.TimeOfDay

or

DateTime.Now.ToShortTimeString()

带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)

这将只显示当前时间,以24小时格式显示:

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

问候 K


使用String.Format()的另一个选项

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

试试这个。它为我工作在3tier架构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插入。


计算当前的datetime:

DateTime theDate = DateTime.UtcNow;

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

MessageBox.Show(custom);

试试这个:

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

对于其他格式,您可以检查这个网站:c# DateTime格式


这个会好些,试试这个

    DateTime.Now.ToShortTimeString();

为此,您不需要指定时间的格式。


非常简单的datetime,现在。ToString(“hh: mm: ss tt”)


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

可以使用{0:HH:mm:ss}、{0:HH:mm:ss。{0:DD/mm/yyy HH:mm:ss},等等…


这是一个可能的解决方案:

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

开始吧:

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

我也在尝试这个方法,发现这些页面也很有帮助。 首先是主类… 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小时也就是从午夜开始的时间

你可以使用我的getter方法();: - d


var CurDate= DateTime.Now;
CurDate.Hour;
CurDate.Minute;
CurDate.Millisecond

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

试着用它来满足你的需要


使用下面的代码

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

我认为这段代码将解决您的问题

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

在我的情况下,我使用下面的代码从DateTime单独获得时间。

var currentDateTime = DateTime.Now; 
var currentTimeAlone = new TimeSpan(currentDateTime.Hour, currentDateTime.Minute,    currentDateTime.Second); 
Console.WriteLine(currentTimeAlone);

希望它能对某些人有所帮助。:)