请问怎么用js把两个字符串转为时间格式,并获取两个时间之间的月份数,如'2017-01-01','2018-17-12'

请问怎么用js把两个字符串转为时间格式,并获取两个时间之间的月份数,如'2017-01-01','2018-17-12',第1张

//不知道这是不是你想要的,这不需要转换为时间格式

function getNums(str){

    var reg = /(\d+)[^\d](\d+)[^\d](\d+)/g;

    var numArr = regexec(str);

    return [parseInt(numArr[1]),parseInt(numArr[2])-1,parseInt(numArr[3])];

}

function getMonths(s1,s2){

    var a1 = getNums(s1);

    var a2 = getNums(s2);

    return (a2[0]-a1[0])12+a2[1]-a1[1];

}

consolelog(getMonths("2017-01-01","2018-12-12"));

你为啥不直接在数据库中计算时间差就好了,在JS中计算问题很多,因为JS时间是取的本地电脑时间,如果本地电脑时间不准那就直接显示错误了,当然如果一定要在JS中计算那转成JS的时间就可以算了,具体参照网页链接

格式化时间

参数: formatStr 格式化串 y年,m月,d日,h小时,i分钟,s秒钟  缺省值 "y-m-d h:i:s"

fdate 要格式化的时间(时间戳)UTC秒数 缺省值 当前时间

实例: formatDate()  当前时间默认格式 如 2011-4-12 12:51:12

formatDate('y/m/d', 2132132131) 某时间格式为 年月日 如 2010/12/5  

function formatDate(formatStr, fdate)

{

var fTime, fStr = 'ymdhis';

if (!formatStr)

formatStr= "y-m-d h:i:s";

if (fdate)

fTime = new Date(fdate);

else

fTime = new Date();

var formatArr = [

fTimegetFullYear()toString(),

(fTimegetMonth()+1)toString(),

fTimegetDate()toString(),

fTimegetHours()toString(),

fTimegetMinutes()toString(),

fTimegetSeconds()toString()

]

for (var i=0; i<formatArrlength; i++)

{

formatStr = formatStrreplace(fStrcharAt(i), formatArr[i]);

}

return formatStr;

}

步骤一:将日期转换成我们常用的“yyyy-MM-dd hh:mm:ss”这种格式,我们可以对日期进行获取然后组装,具体代码如下所示:

步骤二:将日期转换成“某年某月某日”这种日期格式,此时我们只需要调用Date类的toLocaleDateString方法即可。

步骤三:直接获取“hh:mm:ss”时间,此时我们只需要调用Date的toLocaleTimeString方法即可。

步骤四:获取“获取"某年某月某日 hh:mm:ss"”这种格式,我们需要调用Date类的toLocaleString方法。

步骤五:调用dateFormat()方法。

6

步骤六:测试。启动项目后,浏览器中输入>

参考资料

百度经验搜狗[引用时间2018-5-3]

js怎么把时间戳转换为日期格式 前端有时候可能要从日期控件中拿到日期,然后参与计算,下边记录一个把日期字符串转换成时间戳的小函数。

dateStr格式为“2014-05-08 00:22:11 ”

function get_unix_time(dateStr)

{

var newstr = dateStrreplace(/-/g,'/');

var date = new Date(newstr);

var time_str = dategetTime()toString();

return time_strsubstr(0, 10);

}

js中怎么将时间戳转换为 yyyy-mm-dd格式

有三种常见方式:1、functiongetLocalTime(nS){returnnewDate(parseInt(nS)1000)toLocaleString()replace(/:\d{1,2}$/,'');}alert(getLocalTime(1293072805));结果是2010年12月23日10:532、functiongetLocalTime(nS){returnnewDate(parseInt(nS)1000)toLocaleString()substr(0,17)}alert(getLocalTime(1293072805));3、functiongetLocalTime(nS){returnnewDate(parseInt(nS)1000)toLocaleString()replace(/年|月/g,"-")replace(/日/g,"");}alert(getLocalTime(1177824835));

JS 中2015年04月07日日期格式怎么转换成时间戳格式

function get_unix_time(dateStr){ dateStr = dateStrreplace('年','-'); dateStr = dateStrreplace('月','-'); dateStr = dateStrreplace('日','-'); var newstr = dateStrreplace(/-/g,'/'); var date = new Date(newstr); var time_str = dategetTime()toString(); return time_strsubstr(0, 10);}get_unix_time("2015年04月07日");

js时间戳怎么转成日期格式

使用Date可以将毫秒时间戳转为Date对象,然后可以根据Date的方法生成需要的日期格式

如: new Date(1432269413352)

你好,很简单,直接使用Date对象就可以了。

var d = new Date(1432185095381); 如果时间戳是字符串,需要先转换一下 var timestamp = "1432185095381"; var d = new Date(+timestamp);var Y = dgetFullYear(); 2015var M = dgetMonth(); 4var day = dgetDate(); 21consolelog(({})toStringcall(d)); [object Date]

希望是你想要的答案,望采纳~~

使用Date对象可以将毫秒时间戳转为js的Date对象 然后再调用Date的getFullYear、getMonth、getDate等方法拼成想要的日期格式 var date = new Date(1433665089755);alert(dategetFullYear() + '/' + (dategetMonth() + 1) + '/' + dategetDate())

时间戳转换成日期时间2014-8-8 下午11:40:20function formatDate(ns){return new Date(parseInt(ns) 1000)toLocaleString()replace(/年|月/g, "-")replace(/日/g, " ");}时间戳转换成八位日期2014-5-5 function userDate(uData){var myDate = new Date(uData1000);var year = myDategetFullYear();var month = myDategetMonth() + 1;var day = myDategetDate();return year + '-' + month + '-' + day;}时间戳转换成四位时间10:10 function userTime(uTime){var myDate = new Date(uTime1000);var hours = myDategetHours();var minutes = myDategetMinutes();return hours + ':' + minutes;}时间戳转换成四位时间10:10:00function userTime(uTime){var myDate = new Date(uTime1000);var hours = myDategetHours();var minutes = myDategetMinutes();var second = myDategetSeconds();return hours + ':' + minutes + ':' + second;}定时提醒设置的时间传入 (2014,05,15)返回成2014-01-21function setDate(year,month,day){return year + '-' + month + '-' + day; }定时提醒设置的时间传入 (01:02)返回成01:01:00function setTime(hour,minute){return hour + ':' + minute+ ':00';}时间格式2014-02-02 14:10:00改成时间戳function js_strto_time(str_time){var new_str = str_timereplace(/:/g,"-");new_str = new_strreplace(/ /g,"-");var arr = new_strsplit("-");var datum = new Date(DateUTC(arr[0],arr[1]-1,arr[2],arr[3]-8,arr[4],arr[5]));return strtotime = datumgetTime()/1000;}时间戳改成时间格式2014-12-12 下午01:10function js_date_time(unixtime){var timestr = new Date(parseInt(unixtime) 1000);var datetime = timestrtoLocaleString()replace(/年|月/g,"-")replace(/日/g," ");return datetime;}

该方法中需要传入时间戳和需要的时间格式即可, 该方法支持任何形式的时间格式输出,

其中timestamp为传入的时间戳,format为要输出的格式。

亲测结果如下:

js将时间戳转为日期格式

推荐一个JavaScript常用函数库 jutils

其中的formatDate(javascript时间戳转换)函数支持自定义格式,可以显示年,月,周,日,时,分,秒多种形式的日期和时间。

例:

输出格式为 => 年、月、日、时、分、秒

var date = jutilsformatDate(new Date(15336868881000),"YYYY-MM-DD HH:ii:ss");

consolelog(date);

// 2019-07-09 19:44:01

更多自定义返回格式可以参照:

一行js代码实现时间戳转时间格式

下面是相关源码的截图

js将时间戳转为日期格式

以上就是关于请问怎么用js把两个字符串转为时间格式,并获取两个时间之间的月份数,如'2017-01-01','2018-17-12'全部的内容,包括:请问怎么用js把两个字符串转为时间格式,并获取两个时间之间的月份数,如'2017-01-01','2018-17-12'、在数据库中获取到了datetime格式的时间(2018-08-06 11:09:02)想在js中获取当前时间并计算时间差、怎样在js里面格式化日期等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/9812818.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存