如何以C#的特定格式获取日期(时间)?

时间:2014-11-16 18:37:16

标签: c# datetime

我正在创建C#应用程序。它应该以不同的格式保存到文件(以及其他)今天的日期(时间),例如在一行中,应该只有一天,在第二个月和一年中被/分割,等等。

我阅读了有关标准和自定义日期格式的thisthis文章,但没有找到我想要的内容。

我PHP我有一个函数date()。它可以返回一个由我格式指定的日期,例如:

date('l'); - 天名(例如星期一)

date('h:i:s A'); - 小时:小时:第二个PM / AM

没关系,因为我可以单独指定分隔符等。在C#中有没有任何等价的解决方案?

4 个答案:

答案 0 :(得分:2)

如果您希望获得与date('l')方法相同的结果,则可以将dddd format specifier与基于英语的文化(例如:InvariantCulture)一起使用;

DateTime.Now.ToString("dddd", CultureInfo.InvariantCulture); // Sunday

或者您可以使用未本地化的DayOfWeek enumeration;

DateTime.Now.DayOfWeek // Sunday

如果您希望获得与date('h:i:s A')方法相同的结果,则可以使用InvariantCulture之类的自定义日期和时间格式;

DateTime.Now.ToString("hh:mm:ss tt", CultureInfo.InvariantCulture); 

如果你想得到一个11-16/2014的结果,(因为我们不了解你的文化),你可以使用转义分隔符来格式化你的字符串;

DateTime.Now.ToString("MM'-'dd'/'yyyy"); // 11-16/2014

请记住,"/" custom format specifier具有替换我当前文化日期分隔符的特殊含义。如果您在没有任何IFormatProvider的情况下使用它,它将取代您CurrentCulture的{​​{3}}。

答案 1 :(得分:1)

你可以这样做:

Console.WriteLine("The current date and time: {0:MM/dd/yy H:mm:ss zzz}", 
               date); 

答案 2 :(得分:1)

您需要的是DateTime.Now当前时间和ToString with a format string。例如,输出" 11-16 / 2014"从2014年11月16日这一天起的当前时间:

DateTime.Now.ToString(@"MM-dd\/yyyy")

答案 3 :(得分:0)

检查http://msdn.microsoft.com/en-us/library/az4se3k1(v=vs.110).aspx

你可以用任何你喜欢的方式格式化它。

DateTime.Today.ToString(" MM-dd / yy")应该可以解决问题。