Unity 使用this关键字进行函数拓展 - DateTime

举报
CoderZ1010 发表于 2022/09/25 07:08:32 2022/09/25
【摘要】 Example: using System;using UnityEngine; using SK.Framework; public class Foo : MonoBehaviour{ private void Start() { DateTime dt = DateTime.Now; /...

Example:


  
  1. using System;
  2. using UnityEngine;
  3. using SK.Framework;
  4. public class Foo : MonoBehaviour
  5. {
  6. private void Start()
  7. {
  8. DateTime dt = DateTime.Now;
  9. //周六
  10. dt.DayOfWeek.ToChinese();
  11. //星期六
  12. dt.DayOfWeek.ToChinese2();
  13. //yyyy/MM/dd
  14. dt.ToDateString();
  15. //yyyy-MM-dd
  16. dt.ToDateString2();
  17. //yyyy年MM月dd日
  18. dt.ToDateString3();
  19. //yyyy/MM/dd HH:mm:ss
  20. dt.ToDateTimeString();
  21. //yyyy-MM-dd HH:mm:ss
  22. dt.ToDateTimeString2();
  23. //yyyy年MM月dd日 HH:mm:ss
  24. dt.ToDateTimeString3();
  25. }
  26. }

Extension:


  
  1. using System;
  2. namespace SK.Framework
  3. {
  4. /// <summary>
  5. /// DateTime日期时间类相关拓展
  6. /// </summary>
  7. public static class DateTimeExtension
  8. {
  9. /// <summary>
  10. /// 获取时间戳
  11. /// </summary>
  12. /// <param name="self">时间</param>
  13. /// <returns>时间戳</returns>
  14. public static double GetTimeStamp(this DateTime self)
  15. {
  16. //计算机元年 1970年1月1日0时0分0秒
  17. return (self - new DateTime(1970, 1, 1, 0, 0, 0, 0)).TotalSeconds;
  18. }
  19. /// <summary>
  20. /// 转换为中文 (周*)
  21. /// </summary>
  22. /// <param name="self"></param>
  23. /// <returns></returns>
  24. public static string ToChinese(this DayOfWeek self)
  25. {
  26. switch (self)
  27. {
  28. case DayOfWeek.Monday: return "周一";
  29. case DayOfWeek.Tuesday: return "周二";
  30. case DayOfWeek.Wednesday: return "周三";
  31. case DayOfWeek.Thursday: return "周四";
  32. case DayOfWeek.Friday: return "周五";
  33. case DayOfWeek.Saturday: return "周六";
  34. case DayOfWeek.Sunday: return "周日";
  35. default: return null;
  36. }
  37. }
  38. /// <summary>
  39. /// 转换为中文 (星期*)
  40. /// </summary>
  41. /// <param name="self"></param>
  42. /// <returns></returns>
  43. public static string ToChinese2(this DayOfWeek self)
  44. {
  45. switch (self)
  46. {
  47. case DayOfWeek.Monday: return "星期一";
  48. case DayOfWeek.Tuesday: return "星期二";
  49. case DayOfWeek.Wednesday: return "星期三";
  50. case DayOfWeek.Thursday: return "星期四";
  51. case DayOfWeek.Friday: return "星期五";
  52. case DayOfWeek.Saturday: return "星期六";
  53. case DayOfWeek.Sunday: return "星期日";
  54. default: return null;
  55. }
  56. }
  57. /// <summary>
  58. /// 转换格式 yyyy/MM/dd
  59. /// </summary>
  60. /// <param name="self"></param>
  61. /// <returns>yyyy/MM/dd</returns>
  62. public static string ToDateString(this DateTime self)
  63. {
  64. return self.ToString("yyyy/MM/dd");
  65. }
  66. /// <summary>
  67. /// 转换格式 yyyy-MM-dd
  68. /// </summary>
  69. /// <param name="self"></param>
  70. /// <returns>yyyy-MM-dd</returns>
  71. public static string ToDateString2(this DateTime self)
  72. {
  73. return self.ToString("yyyy-MM-dd");
  74. }
  75. /// <summary>
  76. /// 转换格式 yyyy年MM月dd日
  77. /// </summary>
  78. /// <param name="self"></param>
  79. /// <returns>yyyy年MM月dd日</returns>
  80. public static string ToDateString3(this DateTime self)
  81. {
  82. return self.ToString("yyyy年MM月dd日");
  83. }
  84. /// <summary>
  85. /// 转换格式 yyyy/MM/dd HH:mm:ss
  86. /// </summary>
  87. /// <param name="self"></param>
  88. /// <returns>yyyy/MM/dd HH:mm:ss</returns>
  89. public static string ToDateTimeString(this DateTime self)
  90. {
  91. return self.ToString("yyyy/MM/dd HH:mm:ss");
  92. }
  93. /// <summary>
  94. /// 转换格式 yyyy-MM-dd HH:mm:ss
  95. /// </summary>
  96. /// <param name="self"></param>
  97. /// <returns>yyyy-MM-dd HH:mm:ss</returns>
  98. public static string ToDateTimeString2(this DateTime self)
  99. {
  100. return self.ToString("yyyy-MM-dd HH:mm:ss");
  101. }
  102. /// <summary>
  103. /// 转换格式 yyyy年MM月dd日 HH:mm:ss
  104. /// </summary>
  105. /// <param name="self"></param>
  106. /// <returns>yyyy年MM月dd日 HH:mm:ss</returns>
  107. public static string ToDateTimeString3(this DateTime self)
  108. {
  109. return self.ToString("yyyy年MM月dd日 HH:mm:ss");
  110. }
  111. }
  112. }

文章来源: coderz.blog.csdn.net,作者:CoderZ1010,版权归原作者所有,如需转载,请联系作者。

原文链接:coderz.blog.csdn.net/article/details/120470141

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。