1
0

datefmt.js 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169
  1. /**
  2. * 跟当前时间进行比较 针对8位 yyyymmdd 字符串日期
  3. * @param {Object} dateStr
  4. * @param {Object} isGt
  5. */
  6. function compareCurrentForDate8(dateStr,isGt){
  7. var parseResult = parseDate8(dateStr);
  8. var nowDate = new Date();
  9. var nowYear = nowDate.getFullYear()
  10. var nowMonth = nowDate.getMonth()+1;
  11. var nowDate = nowDate.getDate();
  12. var yearInt = parseResult.yearInt
  13. var monthInt = parseResult.monthInt
  14. var dateInt = parseResult.dateInt
  15. if(isGt){
  16. if(yearInt > nowYear){
  17. return true;
  18. }
  19. if( yearInt == nowYear && monthInt > nowMonth){
  20. return true;
  21. }
  22. if( yearInt == nowYear && monthInt == nowMonth && dateInt > nowDate){
  23. return true;
  24. }
  25. }else{
  26. if(yearInt < nowYear){
  27. return true;
  28. }
  29. if( yearInt == nowYear && monthInt < nowMonth){
  30. return true;
  31. }
  32. if( yearInt == nowYear && monthInt == nowMonth && dateInt < nowDate){
  33. return true;
  34. }
  35. }
  36. return false;
  37. }
  38. /**
  39. * 解析时间 针对8位yyyymmdd日期
  40. * @param {Object} dateStr
  41. */
  42. function parseDate8(dateStr){
  43. var yearStr=dateStr.substr(0,4);
  44. var yearInt = parseInt(yearStr);
  45. var monthStr=dateStr.substr(4,2);
  46. var monthInt = parseInt(monthStr);
  47. var dateStr=dateStr.substr(6,2);
  48. var dateInt = parseInt(dateStr);
  49. return {
  50. "yearInt":yearInt,
  51. "monthInt":monthInt,
  52. "dateInt":dateInt
  53. }
  54. }
  55. /**
  56. * 检查是否输入8位年月日合法
  57. */
  58. function checkDate8(dateStr){
  59. if((dateStr+"").length != 8){
  60. return dateStr+":长度只能是8位"
  61. }
  62. var nowDate = new Date();
  63. var yearStr=dateStr.substr(0,4);
  64. var yearInt = parseInt(yearStr);
  65. var monthStr=dateStr.substr(4,2);
  66. var monthInt = parseInt(monthStr);
  67. var dateStr=dateStr.substr(6,2);
  68. var dateInt = parseInt(dateStr);
  69. var nowYear = nowDate.getFullYear()
  70. var nowMonth = nowDate.getMonth()+1;
  71. var nowDate = nowDate.getDate();
  72. if((yearInt-nowYear)>10 || (yearInt-nowYear)<(-10)){
  73. return "年份输入不合法;输入年份不能(大于或小于)当前年份10年;";
  74. }
  75. if(monthInt<1 || monthInt>12){
  76. return "月份输入不合法;输入月份值只能是1到12之间";
  77. }
  78. var dateMax = getDateByYearAndMonth(yearInt,monthInt);
  79. if(dateInt<1 || dateInt>dateMax){
  80. return yearInt+"年"+monthInt+"月份,日期输入不合法;只能是"+1+"到"+dateMax+"之间";
  81. }
  82. return 1;
  83. }
  84. /**
  85. * 根据年份跟月份获取该月最大的日
  86. */
  87. function getDateByYearAndMonth(yearValue,monthValue){
  88. var date = new Date();
  89. date.setFullYear(yearValue);
  90. date.setMonth(monthValue);
  91. date.setDate(0);
  92. return date.getDate();
  93. }
  94. function fmtDate(timeStamp) {
  95. if(timeStamp == null){return ''}
  96. var date = new Date();
  97. date.setTime(timeStamp);
  98. var y = date.getFullYear();
  99. var m = date.getMonth() + 1;
  100. m = m < 10 ? ('0' + m) : m;
  101. var d = date.getDate();
  102. d = d < 10 ? ('0' + d) : d;
  103. return y + '-' + m + '-' + d;
  104. };
  105. function fmtDate8(timeStamp) {
  106. if(timeStamp == null){return ''}
  107. var date = new Date();
  108. date.setTime(timeStamp);
  109. var y = date.getFullYear();
  110. var m = date.getMonth() + 1;
  111. m = m < 10 ? ('0' + m) : m;
  112. var d = date.getDate();
  113. d = d < 10 ? ('0' + d) : d;
  114. return y + '-' + m + '-' + d;
  115. };
  116. function fmtDateTime(timeStamp) {
  117. if(timeStamp == null){return ''}
  118. var date = new Date();
  119. date.setTime(timeStamp);
  120. var y = date.getFullYear();
  121. var m = date.getMonth() + 1;
  122. m = m < 10 ? ('0' + m) : m;
  123. var d = date.getDate();
  124. d = d < 10 ? ('0' + d) : d;
  125. var h = date.getHours();
  126. h = h < 10 ? ('0' + h) : h;
  127. var minute = date.getMinutes();
  128. minute = minute < 10 ? ('0' + minute) : minute;
  129. var second = date.getSeconds();
  130. second = second < 10 ? ('0' + second) : second;
  131. return y + '-' + m + '-' + d+' '+h+':'+minute+':'+second;
  132. };
  133. function fmtTimeStamp(dateStr) {
  134. if(dateStr == null || dateStr==''){return ''}
  135. var date = new Date();
  136. var dateArr=dateStr.split(' ')
  137. var ymd=dateArr[0].split('-')
  138. var hmc=dateArr[1].split('-')
  139. date.setFullYear(ymd[0], ymd[1]-1, ymd[2])
  140. date.setHours(hmc[0], hmc[1], hmc[2], 0);
  141. return date.getTime();
  142. };