format.js 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. function dateFormat(date) {
  2. if(date){
  3. date = new Date(date);
  4. var myDate = new Date();
  5. let currentYear = myDate.getFullYear();
  6. let year = date.getFullYear();
  7. let fmt = "YYYY年mm月dd日 HH:MM:SS"
  8. if(currentYear==year){
  9. fmt = "mm月dd日 HH:MM:SS"
  10. }else{
  11. fmt = "YYYY年mm月dd日 HH:MM:SS"
  12. }
  13. let ret;
  14. const opt = {
  15. "Y+": date.getFullYear().toString(), // 年
  16. "m+": (date.getMonth() + 1).toString(), // 月
  17. "d+": date.getDate().toString(), // 日
  18. "H+": date.getHours().toString(), // 时
  19. "M+": date.getMinutes().toString(), // 分
  20. "S+": date.getSeconds().toString() // 秒
  21. // 有其他格式化字符需求可以继续添加,必须转化成字符串
  22. };
  23. for (let k in opt) {
  24. ret = new RegExp("(" + k + ")").exec(fmt);
  25. if (ret) {
  26. fmt = fmt.replace(ret[1], (ret[1].length == 1) ? (opt[k]) : (opt[k].padStart(ret[1].length, "0")))
  27. };
  28. };
  29. return fmt;
  30. }else{
  31. return "";
  32. }
  33. }
  34. function displayDateFormat(date) {
  35. if(date){
  36. date = new Date(date);
  37. var myDate = new Date();
  38. let currentYear = myDate.getFullYear();
  39. let year = date.getFullYear();
  40. let fmt = "YYYY/mm/dd"
  41. if(currentYear==year){
  42. fmt = "mm/dd"
  43. }else{
  44. fmt = "YYYY/mm/dd"
  45. }
  46. let ret;
  47. const opt = {
  48. "Y+": date.getFullYear().toString(), // 年
  49. "m+": (date.getMonth() + 1).toString(), // 月
  50. "d+": date.getDate().toString() // 日
  51. // 有其他格式化字符需求可以继续添加,必须转化成字符串
  52. };
  53. for (let k in opt) {
  54. ret = new RegExp("(" + k + ")").exec(fmt);
  55. if (ret) {
  56. fmt = fmt.replace(ret[1], (ret[1].length == 1) ? (opt[k]) : (opt[k].padStart(ret[1].length, "0")))
  57. };
  58. };
  59. return fmt;
  60. }else{
  61. return "";
  62. }
  63. }
  64. function displayDateFormatChi(date) {
  65. if(date){
  66. date = new Date(date);
  67. var myDate = new Date();
  68. let currentYear = myDate.getFullYear();
  69. let year = date.getFullYear();
  70. let fmt = "YYYY年mm月dd日"
  71. if(currentYear==year){
  72. fmt = "mm月dd日"
  73. }else{
  74. fmt = "YYYY年mm月dd日"
  75. }
  76. let ret;
  77. const opt = {
  78. "Y+": date.getFullYear().toString(), // 年
  79. "m+": (date.getMonth() + 1).toString(), // 月
  80. "d+": date.getDate().toString() // 日
  81. // 有其他格式化字符需求可以继续添加,必须转化成字符串
  82. };
  83. for (let k in opt) {
  84. ret = new RegExp("(" + k + ")").exec(fmt);
  85. if (ret) {
  86. fmt = fmt.replace(ret[1], (ret[1].length == 1) ? (opt[k]) : (opt[k].padStart(ret[1].length, "0")))
  87. };
  88. };
  89. return fmt;
  90. }else{
  91. return "";
  92. }
  93. }
  94. function dateFormatForLine(date, isLong=true) {
  95. if(date){
  96. date = new Date(date);
  97. var myDate = new Date();
  98. let currentYear = myDate.getFullYear();
  99. let year = date.getFullYear();
  100. var fmt = "YYYY-mm-dd HH:MM:SS"
  101. if (!isLong) {
  102. fmt = "YYYY-mm-dd"
  103. }
  104. let ret;
  105. const opt = {
  106. "Y+": date.getFullYear().toString(), // 年
  107. "m+": (date.getMonth() + 1).toString(), // 月
  108. "d+": date.getDate().toString(), // 日
  109. "H+": date.getHours().toString(), // 时
  110. "M+": date.getMinutes().toString(), // 分
  111. "S+": date.getSeconds().toString() // 秒
  112. // 有其他格式化字符需求可以继续添加,必须转化成字符串
  113. };
  114. for (let k in opt) {
  115. ret = new RegExp("(" + k + ")").exec(fmt);
  116. if (ret) {
  117. fmt = fmt.replace(ret[1], (ret[1].length == 1) ? (opt[k]) : (opt[k].padStart(ret[1].length, "0")))
  118. };
  119. };
  120. return fmt;
  121. }else{
  122. return "";
  123. }
  124. }
  125. function mobileFormat(mobile){
  126. let fmm= "" + mobile;
  127. var reg=/(\d{3})\d{4}(\d{4})/; //正则表达式
  128. return fmm.replace(reg, "$1****$2");
  129. }
  130. export {
  131. dateFormat,
  132. mobileFormat,
  133. displayDateFormat,
  134. displayDateFormatChi,
  135. dateFormatForLine
  136. }