@yoooloo42/bean 1.0.32 → 1.0.34

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.esm.js CHANGED
@@ -4174,74 +4174,78 @@ var GBT = {
4174
4174
  /**
4175
4175
  * 将Date对象格式化为指定的字符串格式
4176
4176
  *
4177
- * @param {Date} date - 要格式化的日期对象
4178
- * @param {string} format - 目标格式字符串,例如:"yyyy年MM月dd日", "yyyy/MM/dd HH:mm:ss", "MM-dd HH:mm"
4177
+ * @param {Date} d - 要格式化的日期对象
4178
+ * @param {string} f - 目标格式字符串,例如:"yyyy年MM月dd日", "yyyy/MM/dd HH:mm:ss", "MM-dd HH:mm"
4179
4179
  * @returns {string} 格式化后的日期字符串
4180
4180
  */
4181
- function dateFormat$1(date, format) {
4182
- // 有效的 Date 对象一致性
4183
- const Date0 = new Date(date);
4184
-
4185
- const o = {
4186
- 'M+': Date0.getMonth() + 1, // 月份
4187
- 'd+': Date0.getDate(), //
4188
- 'h+': Date0.getHours() % 12 === 0 ? 12 : Date0.getHours() % 12, // 12小时制
4189
- 'H+': Date0.getHours(), // 24小时制
4190
- 'm+': Date0.getMinutes(), // 分
4191
- 's+': Date0.getSeconds(), //
4192
- 'q+': Math.floor((Date0.getMonth() + 3) / 3), // 季度
4193
- 'S': Date0.getMilliseconds() // 毫秒
4194
- };
4195
-
4196
- // 替换年份 'yyyy'
4197
- if (/(y+)/.test(format)) {
4198
- format = format.replace(RegExp.$1, (Date0.getFullYear() + "").substr(4 - RegExp.$1.length));
4199
- }
4200
-
4201
- // 替换 'AM/PM'
4202
- if (/(A|a)/.test(format)) {
4203
- const ampm = Date0.getHours() < 12 ? 'AM' : 'PM';
4204
- format = format.replace(RegExp.$1, RegExp.$1 === 'a' ? ampm.toLowerCase() : ampm);
4205
- }
4206
-
4207
- // 替换其他时间单位 'MM', 'dd', 'HH' 等
4208
- for (let k in o) {
4209
- if (new RegExp("(" + k + ")").test(format)) {
4210
- const value = o[k];
4211
- // $1 匹配到的字符串,例如 'MM'
4212
- // 如果是毫秒 'S',则不补零
4213
- format = format.replace(RegExp.$1, (RegExp.$1.length === 1) ? (value) : (("00" + value).substr(("" + value).length)));
4214
- }
4181
+ function dateFormat$1(d, f){
4182
+ if(! d){ return "" }
4183
+ let d0 = new Date(d), d1 = "", f0 = f || "";
4184
+
4185
+ let year = d0.getFullYear();
4186
+ let year0 = "" + year;
4187
+ let month = d0.getMonth() + 1;
4188
+ let month0 = "" + month;
4189
+ let month1= month < 10 ? "0" + month0 : month0;
4190
+ let date = d0.getDate();
4191
+ let date0 = "" + date;
4192
+ let date1= date < 10 ? "0" + date0 : date0;
4193
+ let hours = d0.getHours();
4194
+ let hours0 = "" + hours;
4195
+ let hours1= hours < 10 ? "0" + hours0 : hours0;
4196
+ let minutes = d0.getMinutes();
4197
+ let minutes0 = "" + minutes;
4198
+ let minutes1= minutes < 10 ? "0" + minutes0 : minutes0;
4199
+
4200
+ switch(f0){
4201
+ case "yyyy年MM月dd日" :
4202
+ d1 = year0 + "年" + month1 + "月" + date1 + "日";
4203
+ break;
4204
+ case "yyyy年M月d日" :
4205
+ d1 = year0 + "年" + month0 + "月" + date0 + "日";
4206
+ break;
4207
+ case "yyyy-MM-dd" :
4208
+ d1 = year0 + "-" + month1 + "-" + date1;
4209
+ break;
4210
+ case "yyyy-M-d" :
4211
+ d1 = year0 + "-" + month0 + "-" + date0;
4212
+ break;
4213
+ case "yyyy/MM/dd" :
4214
+ d1 = year0 + "/" + month1 + "/" + date1;
4215
+ break;
4216
+ case "yyyy/M/d" :
4217
+ d1 = year0 + "/" + month0 + "/" + date0;
4218
+ break;
4219
+ case "yyyy/MM/dd HH:mm" :
4220
+ d1 = year0 + "/" + month1 + "/" + date1
4221
+ + " " + hours1 + ":" + minutes1;
4222
+ break;
4223
+ case "yyyy/M/d H:m" :
4224
+ d1 = year0 + "/" + month0 + "/" + date0
4225
+ + " " + hours0 + ":" + minutes0;
4226
+ break;
4227
+ default :
4228
+ d1 = year0 + "/" + month1 + "/" + date1
4229
+ + " " + hours1 + ":" + minutes1;
4215
4230
  }
4216
4231
 
4217
- return format;
4232
+ return d1;
4218
4233
  }
4219
4234
 
4220
4235
  /**
4221
4236
  * 计算两个日期之间相差的天数
4222
4237
  *
4223
- * @param {Date} dateFrom - 开始日期 (Date 对象)
4224
- * @param {Date} dateTo - 结束日期 (Date 对象)
4225
- * @returns {number | null} 相差的天数(向下取整)。如果日期无效,则返回 null。
4226
- * 结果为正数表示 dateTo 在 dateFrom 之后;负数表示 dateFrom 在 dateTo 之后。
4238
+ * @param {Date} dFrom - 开始日期 (Date 对象)
4239
+ * @param {Date} dTo - 截止日期 (Date 对象)
4240
+ * @returns {number} 相差的天数
4227
4241
  */
4228
- function days(dateFrom, dateTo) {
4229
- // 1. 有效的 Date 对象一致性
4230
- const DateFrom0 = new Date(dateFrom);
4231
- const DateTo0 = new Date(dateTo);
4232
-
4233
- // 2. 计算两个日期的时间戳差值 (毫秒)
4234
- // Date.getTime() 返回从 1970 1 1 00:00:00 UTC 至今的毫秒数
4235
- const timeDifference = DateTo0.getTime() - DateFrom0.getTime();
4236
-
4237
- // 3. 定义一天对应的毫秒数
4238
- const msPerDay = 1000 * 60 * 60 * 24;
4239
-
4240
- // 4. 将毫秒差值转换为天数
4241
- // Math.floor() 用于向下取整,确保得到完整的经过天数
4242
- const dayDifference = Math.floor(timeDifference / msPerDay);
4243
-
4244
- return dayDifference;
4242
+ function days(dFrom, dTo){
4243
+ let dFrom0 = new Date(new Date(dFrom).toDateString ());
4244
+ let dTo0 = new Date(new Date(dTo).toDateString ());
4245
+ if(dFrom0 >= dTo0){
4246
+ return 0
4247
+ }
4248
+ return Math.floor((dTo0 - dFrom0)/(1000 * 60 * 60 * 24)) + 1;
4245
4249
  }
4246
4250
  var dateFormat = {
4247
4251
  dateFormat: dateFormat$1,