繁体   English   中英

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

[英]How to get date (time) in specific format for C#?

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

我读这个这个文章有关标准和定制的日期格式,但没有找到我想要的东西。

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

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

date('h:i:s A'); -小时:分钟:秒PM / AM

很好,因为我可以单独指定分隔符等。在C#中是否有与此等效的解决方案?

如果要获得与date('l')方法相同的结果,则可以将dddd格式说明符与基于英语的文化(例如InvariantCulture )一起使用;例如:

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

或者您可以使用未本地化的DayOfWeek枚举

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

请记住, "/"自定义格式说明符的特殊含义是将其替换为当前的区域性日期分隔符 如果您在不使用任何IFormatProvider情况下使用它,它将替换您自己的CurrentCultureDateSeparator

你可以这样做:

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

您需要的是当前时间的DateTime.Now具有格式字符串的ToString 例如,要从2014年11月16日这一天的当前时间输出“ 11-16 / 2014”:

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

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

您可以按自己喜欢的任何方式对其进行格式化。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM