jquery 如何在JavaScript中将字符串' dd/mm/yy hh:MM:ss '转换为日期?

n9vozmp4  于 2024-01-07  发布在  jQuery
关注(0)|答案(7)|浏览(150)

我已经这样做

  1. var d='dd/mm/yy hh:MM:ss';
  2. var d1=d.split(" ");
  3. var date=d1[0].split("/");
  4. var time=d1[1].split(":");
  5. var dd=date[0];
  6. var mm=date[1]-1;
  7. var yy=date[2];
  8. var hh=time[0];
  9. var min=time[1];
  10. var ss=time[2];
  11. var fromdt= new Date("20"+yy,mm-1,dd,hh,min,ss);

字符串
有没有什么方法可以使用jQuery或JavaScript来实现?

zaqlnxep

zaqlnxep1#

如果您正在寻找jquery或JavaScript中的替代方案,那么您可以使用Moment.js,在这里您可以在JavaScript中解析修改显示日期。
举例说明:

  1. var date= moment("06/06/2015 11:11:11").format('DD-MMM-YYYY');

字符串

vjhs03f7

vjhs03f72#

这将工作,无论时区的格式dd/mm/yyy hh:mm:ss只。它也不依赖于第三方软件包:

  1. let dtStr = "12/03/2010 09:55:35"
  2. console.log(strToDate(dtStr)); // Fri Mar 12 2010 09:55:35
  3. function strToDate(dtStr) {
  4. if (!dtStr) return null
  5. let dateParts = dtStr.split("/");
  6. let timeParts = dateParts[2].split(" ")[1].split(":");
  7. dateParts[2] = dateParts[2].split(" ")[0];
  8. // month is 0-based, that's why we need dataParts[1] - 1
  9. return dateObject = new Date(+dateParts[2], dateParts[1] - 1, +dateParts[0], timeParts[0], timeParts[1], timeParts[2]);
  10. }

字符串

m4pnthwp

m4pnthwp3#

Date.parse()怎么样?

  1. new Date( Date.parse("05/12/05 11:11:11") );
  2. // Thu May 12 2005 11:11:11 GMT+0200 (CEST)

字符串
生成的输出是本地时区的,并且在不同时区的浏览器中会有所不同。

rdlzhqv9

rdlzhqv94#

我们可以使用moment js将任何本地日期格式转换为datetime数据类型。

密码:

  1. moment('<local date value>','<local date format>').format('<expected convert format>')

字符串

示例:

  1. moment('26/05/1986 00:00', 'DD/MM/YYYY HH:mm').format("MM/DD/YYYY HH:mm");


则输出将为05/26/1986 00:00
欢呼

bksxznpy

bksxznpy5#

Date#parse应该能够解析字符串。我还建议查看npm包moment的日期操作

kulphzqa

kulphzqa6#

从你的代码看,你似乎试图将字符串转换为日期,并且你也试图获取上个月。如果是,那么你可以重建你的代码如下:

  1. Date.prototype.SubtractMonth = function(numberOfMonths) {
  2. var d = this;
  3. d.setMonth(d.getMonth() - numberOfMonths);
  4. return d;
  5. }
  6. $(document).ready(function() {
  7. var dateString='2015-06-17T18:30:12';
  8. var d = new Date(dateString);
  9. alert(d.SubtractMonth(1));
  10. });

字符串

ig9co6j1

ig9co6j17#

谢谢,@sean-coley,你的回答帮了我很多,但它给了我不同时区的(本地)时间。我还将Date.UTC添加到新的Date函数中,因此结果时间将与输入相同

  1. let dtStr = "12/03/2010 09:55:35"
  2. console.log(strToDate(dtStr)); // Fri Mar 12 2010 09:55:35
  3. function strToDate(dtStr) {
  4. if (!dtStr) return null
  5. let dateParts = dtStr.split("/");
  6. let timeParts = dateParts[2].split(" ")[1].split(":");
  7. dateParts[2] = dateParts[2].split(" ")[0];
  8. // month is 0-based, that's why we need dataParts[1] - 1
  9. return dateObject = new Date(Date.UTC(+dateParts[2], dateParts[1] - 1, +dateParts[0], timeParts[0], timeParts[1], timeParts[2]));
  10. }

字符串

相关问题