none
C#的日期对象,能否格式化为一个字符串,要求是如果日期是当天,就只显示时分秒,不要显示日期部分? RRS feed

  • 问题

  • C#的日期对象,能否格式化为一个字符串,要求是如果日期是当天,就只显示时、分(hh:mm);如果是当年,就显示MM-dd hh:mm不要显示年份?

    C#是否内置了这些功能?还是说要自己去写代码实现?


    da jia hao!

    2017年11月9日 8:57

答案

  • Hi,

    感谢在MSDN论坛发帖。

    二楼的同胞应该可以解决你说的问题,我下面也做了测试,你可以直接拷贝过去测试一下。

                DateTime dateTime = DateTime.Now;
                DateTime date1 = new DateTime(2008, 4, 10, 6, 30, 0);
    
                Console.WriteLine( (date1 == DateTime.Now) ? dateTime.ToString("hh:mm") : dateTime.ToString("MM-dd hh:mm"));
    
                

    Best Regards,

    Hart


    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    • 已标记为答案 liubin 2017年11月10日 8:41
    2017年11月10日 7:45
    版主

全部回复

  • 好像是要自己实现的:

    DateTime.Now.Date == dateTime.Date ? dateTime.ToString("hh:mm") : dateTime.ToString("MM-dd hh:mm")

    2017年11月9日 9:05
  • 已经内置此功能,用不同的参数调用ToString() 方法即可。

    就是您说的hh:mm或MM-dd hh:mm


    专注于.NET ERP/CRM开发框架,C/S架构,SQL Server + ORM(LLBL Gen Pro) + Infragistics WinForms

    2017年11月10日 0:44
  • 胡说,你用hh:mm格式化,永远都是返回hh:mm,永远都不会有日期部分出来。不会根据是否当天、当年来决定是否显示年份和日期。


    da jia hao!

    2017年11月10日 2:34
  • Hi,

    感谢在MSDN论坛发帖。

    二楼的同胞应该可以解决你说的问题,我下面也做了测试,你可以直接拷贝过去测试一下。

                DateTime dateTime = DateTime.Now;
                DateTime date1 = new DateTime(2008, 4, 10, 6, 30, 0);
    
                Console.WriteLine( (date1 == DateTime.Now) ? dateTime.ToString("hh:mm") : dateTime.ToString("MM-dd hh:mm"));
    
                

    Best Regards,

    Hart


    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    • 已标记为答案 liubin 2017年11月10日 8:41
    2017年11月10日 7:45
    版主