YdmDateFormat.cs 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.ComponentModel;
  6. namespace Core.StlMes.Client.PipeLeaveFactory.YdmObject
  7. {
  8. public class YdmDateFormat
  9. {
  10. //返回每月的第一天和最后一天
  11. public static void ReturnDateFormat(int month, out string firstDay, out string lastDay)
  12. {
  13. int year = DateTime.Now.Year + month / 12;
  14. if (month != 12)
  15. {
  16. month = month % 12;
  17. }
  18. switch (month)
  19. {
  20. case 1:
  21. firstDay = DateTime.Now.ToString(year + "-0" + month + "-01");
  22. lastDay = DateTime.Now.ToString(year + "-0" + month + "-31");
  23. break;
  24. case 2:
  25. firstDay = DateTime.Now.ToString(year + "-0" + month + "-01");
  26. if (DateTime.IsLeapYear(DateTime.Now.Year))
  27. lastDay = DateTime.Now.ToString(year + "-0" + month + "-29");
  28. else
  29. lastDay = DateTime.Now.ToString(year + "-0" + month + "-28");
  30. break;
  31. case 3:
  32. firstDay = DateTime.Now.ToString(year + "-0" + month + "-01");
  33. lastDay = DateTime.Now.ToString("yyyy-0" + month + "-31");
  34. break;
  35. case 4:
  36. firstDay = DateTime.Now.ToString(year + "-0" + month + "-01");
  37. lastDay = DateTime.Now.ToString(year + "-0" + month + "-30");
  38. break;
  39. case 5:
  40. firstDay = DateTime.Now.ToString(year + "-0" + month + "-01");
  41. lastDay = DateTime.Now.ToString(year + "-0" + month + "-31");
  42. break;
  43. case 6:
  44. firstDay = DateTime.Now.ToString(year + "-0" + month + "-01");
  45. lastDay = DateTime.Now.ToString(year + "-0" + month + "-30");
  46. break;
  47. case 7:
  48. firstDay = DateTime.Now.ToString(year + "-0" + month + "-01");
  49. lastDay = DateTime.Now.ToString(year + "-0" + month + "-31");
  50. break;
  51. case 8:
  52. firstDay = DateTime.Now.ToString(year + "-0" + month + "-01");
  53. lastDay = DateTime.Now.ToString(year + "-0" + month + "-31");
  54. break;
  55. case 9:
  56. firstDay = DateTime.Now.ToString(year + "-0" + month + "-01");
  57. lastDay = DateTime.Now.ToString(year + "-0" + month + "-30");
  58. break;
  59. case 10:
  60. firstDay = DateTime.Now.ToString(year + "-" + month + "-01");
  61. lastDay = DateTime.Now.ToString(year + "-" + month + "-31");
  62. break;
  63. case 11:
  64. firstDay = DateTime.Now.ToString(year + "-" + month + "-01");
  65. lastDay = DateTime.Now.ToString(year + "-" + month + "-30");
  66. break;
  67. default:
  68. firstDay = DateTime.Now.ToString(year + "-" + month + "-01");
  69. lastDay = DateTime.Now.ToString(year + "-" + month + "-31");
  70. break;
  71. }
  72. }
  73. /// <summary>
  74. /// 单号自增
  75. /// </summary>
  76. /// <param name="BaseNumber">原单号</param>
  77. /// <param name="prefix">单号前缀</param>
  78. /// <param name="digit">流水号</param>
  79. /// <returns>返回值</returns>
  80. public static string NextNumber(string BaseNumber, string prefix, string digit)
  81. {
  82. string NewNumber = "";//新值
  83. int InNumber = 1;//进位
  84. int PlaceValue;//位值
  85. char[] No = BaseNumber.ToCharArray();
  86. for (int i = BaseNumber.Length - 1; i >= 0; i--)
  87. {
  88. if (No[i] == '9' && InNumber == 1)
  89. {
  90. InNumber = 1;
  91. NewNumber = "0" + NewNumber;
  92. }
  93. else
  94. if (InNumber == 1 && No[i] >= '0' && No[i] < '9')
  95. {
  96. PlaceValue = Int32.Parse(No[i].ToString());
  97. PlaceValue = (InNumber + PlaceValue);
  98. InNumber = 0;
  99. NewNumber = PlaceValue.ToString() + NewNumber;
  100. }
  101. else
  102. {
  103. InNumber = 0;
  104. NewNumber = No[i] + NewNumber;
  105. }
  106. }
  107. if (BaseNumber == NewNumber)
  108. NewNumber = prefix + DateTime.Now.ToString("yyMMdd") + digit;
  109. return NewNumber;
  110. }
  111. }
  112. }