当前位置:   article > 正文

JS获取年月日时分秒等_js parsetime

js parsetime

目录

创建 Date 对象的语法:

 date方法和描述:

常用的公共方法: 

例1:获取当前日期(格式:yyyy-MM-dd)

例2: 获取当前时间并且格式转化成:“yyyy-MM-dd hh:mm:ss”

例3:获取当前日期的前/后 x 月,可跨年 

例4:得到指定季度的第一天

例5:得到指定季度的最后一天

例6:计算两个日期相差天数

例7:日期验证起期<止期

例8:日期验证并保证起期(月)<止期(月)并且不能超过一年

例9:获取起始月和终止月之间的月数

例10:开始日期和结束日期之间不超过一年。并且结束日期不可晚于当前日期



创建 Date 对象的语法:

var date = new Date();
  •  date方法和描述:

方法描述
Date()返回当日的日期和时间。格式:Thu Jun 20 2019 09:47:47 GMT+0800 (中国标准时间)
getDate()从 Date 对象返回一个月中的某一天 (1 ~ 31)。
getDay()从 Date 对象返回一周中的某一天 (0 ~ 6,0代表星期日)。
getMonth()从 Date 对象返回月份 (0 ~ 11,0代表1月)。
getFullYear()从 Date 对象以四位数字返回年份。
getYear()获取当前年份(2位),请使用 getFullYear() 方法代替。
getHours()返回 Date 对象的小时 (0 ~ 23)。
getMinutes()返回 Date 对象的分钟 (0 ~ 59)。
getSeconds()返回 Date 对象的秒数 (0 ~ 59)。
getMilliseconds()返回 Date 对象的毫秒(0 ~ 999)。
getTime()返回 1970 年 1 月 1 日至今的毫秒数。
getTimezoneOffset()返回本地时间与格林威治标准时间 (GMT) 的分钟差。
getUTCDate()根据世界时从 Date 对象返回月中的一天 (1 ~ 31)。
getUTCDay()根据世界时从 Date 对象返回周中的一天 (0 ~ 6)。
getUTCMonth()根据世界时从 Date 对象返回月份 (0 ~ 11)。
getUTCFullYear()根据世界时从 Date 对象返回四位数的年份。
getUTCHours()根据世界时返回 Date 对象的小时 (0 ~ 23)。
getUTCMinutes()根据世界时返回 Date 对象的分钟 (0 ~ 59)。
getUTCSeconds()根据世界时返回 Date 对象的秒钟 (0 ~ 59)。
getUTCMilliseconds()根据世界时返回 Date 对象的毫秒(0 ~ 999)。
parse()返回1970年1月1日午夜到指定日期(字符串)的毫秒数。
setDate()设置 Date 对象中月的某一天 (1 ~ 31)。
setMonth()设置 Date 对象中月份 (0 ~ 11)。
setFullYear()设置 Date 对象中的年份(四位数字)。
setYear()请使用 setFullYear() 方法代替。
setHours()设置 Date 对象中的小时 (0 ~ 23)。
setMinutes()设置 Date 对象中的分钟 (0 ~ 59)。
setSeconds()设置 Date 对象中的秒钟 (0 ~ 59)。
setMilliseconds()设置 Date 对象中的毫秒 (0 ~ 999)。
setTime()以毫秒设置 Date 对象。
setUTCDate()根据世界时设置 Date 对象中月份的一天 (1 ~ 31)。
setUTCMonth()根据世界时设置 Date 对象中的月份 (0 ~ 11)。
setUTCFullYear()根据世界时设置 Date 对象中的年份(四位数字)。
setUTCHours()根据世界时设置 Date 对象中的小时 (0 ~ 23)。
setUTCMinutes()根据世界时设置 Date 对象中的分钟 (0 ~ 59)。
setUTCSeconds()根据世界时设置 Date 对象中的秒钟 (0 ~ 59)。
setUTCMilliseconds()根据世界时设置 Date 对象中的毫秒 (0 ~ 999)。
toSource()返回该对象的源代码。
toString()把 Date 对象转换为字符串。
toTimeString()把 Date 对象的时间部分转换为字符串。
toDateString()把 Date 对象的日期部分转换为字符串。
toGMTString()请使用 toUTCString() 方法代替。
toUTCString()根据世界时,把 Date 对象转换为字符串。
toLocaleString()根据本地时间格式,把 Date 对象转换为字符串。
toLocaleTimeString()根据本地时间格式,把 Date 对象的时间部分转换为字符串。
toLocaleDateString()根据本地时间格式,把 Date 对象的日期部分转换为字符串。
UTC()根据世界时返回 1970 年 1 月 1 日 到指定日期的毫秒数。
valueOf()返回 Date 对象的原始值。

常用的公共方法: 

例1:获取当前日期(格式:yyyy-MM-dd)

  1. //得到当前日期
  2. function getNowDate(obj) {
  3. var d = new Date();//创建 Date 对象的语法
  4. var vYear = d.getFullYear();//获得当前年(4位数)
  5. var vMon = d.getMonth() + 1;//获得当前月(月份默认计算是从0开始,0-11代表1-12月,加1比较直观些)
  6. var vDay = d.getDate();//获得当前日(1-31)
  7. //拼接成完整日期,格式如:2019-06-17
  8. var nowDate=vYear + "-" + (vMon < 10 ? "0" + vMon : vMon) + "-" + (vDay < 10 ? "0" + vDay : vDay);
  9. //返回完整日期
  10. obj.value = nowDate;
  11. }

例2: 获取当前时间并且格式转化成:“yyyy-MM-dd hh:mm:ss”

  1. // 对Date的扩展,将 Date 转化为指定格式的String
  2. // 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符,
  3. // 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字)
  4. // 例子:
  5. // (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423
  6. // (new Date()).Format("yyyy-M-d h:m:s.S") ==> 2006-7-2 8:9:4.18
  7. Date.prototype.Format = function (fmt) {
  8. var o = {
  9. "M+": this.getMonth() + 1, //月份
  10. "d+": this.getDate(), //日
  11. "H+": this.getHours(), //小时
  12. "m+": this.getMinutes(), //分
  13. "s+": this.getSeconds(), //秒
  14. "q+": Math.floor((this.getMonth() + 3) / 3), //季度
  15. "S": this.getMilliseconds() //毫秒
  16. };
  17. if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
  18. for (var k in o)
  19. if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
  20. return fmt;
  21. }
  22. //调用:
  23. var time1 = new Date().Format("yyyy-MM-dd");
  24. var time2 = new Date().Format("yyyy-MM-dd HH:mm:ss");

例3:获取当前日期的前/后 x 月,可跨年 

  1. // 获得当前日期前(后)X月的月初(末),
  2. //(x 为正数,则是后x月;x为负数,则是前x月; x范围没限制,即可跨年)
  3. //(flag取值:'F' 月初 , 'L' 月末)
  4. function getXMonthFirstOrLastDate(obj,x,flag) {
  5. var d = new Date();
  6. var vYear = d.getFullYear();//获得当前年
  7. var vMon = d.getMonth() + 1;//获得当前月(1-12)
  8. var mod = vMon+x<=0 ? Math.abs(parseInt((vMon+x)/12))+1 : parseInt((vMon+x)/12);
  9. if( (vMon+x >0) && ((vMon+x)%12)==0){
  10. mod = mod-1;
  11. }
  12. vYear = vMon+x<=0 ? vYear-mod : vYear+mod;
  13. vMon = vMon+x<=0 ? vMon+x+mod*12 : vMon+x-mod*12;
  14. var firstDate = new Date(vYear,vMon,1);
  15. var vday;
  16. if(flag=="F"){
  17. vday = "01";
  18. }else if(flag=="L"){
  19. vday = new Date(firstDate.getTime()-1000*60*60*24).getDate();
  20. }
  21. var theDate = vYear + "-" +(vMon < 10 ? "0" + vMon : vMon) + "-" + vday;
  22. obj.value = theDate;
  23. }

例4:得到指定季度的第一天

  1. //得到指定季度的第一天
  2. function getMarkQuarterFirstDate(objv) {
  3. var reg=/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/;
  4. var r = objv.match(reg);
  5. if(r==null)return false;
  6. var d=new Date(r[1], r[3]-1,r[4]);
  7. var vYear = d.getFullYear();
  8. var vMonth = d.getMonth() + 1;
  9. var quarter = Math.ceil(vMonth/3);
  10. var vday = "01";
  11. var theDate;
  12. if(quarter=="1"){
  13. theDate = vYear+"-01" + "-" + vday;
  14. }else if(quarter=="2"){
  15. theDate = vYear + "-04" + "-" + vday;
  16. }else if(quarter=="3"){
  17. theDate = vYear + "-07" + "-" + vday;
  18. }else{
  19. theDate = vYear + "-10" + "-" + vday;
  20. }
  21. return theDate;
  22. }

例5:得到指定季度的最后一天

  1. //得到指定季度的最后一天
  2. function getMarkQuarterLastDate(objv) {
  3. var reg=/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/;
  4. var r = objv.match(reg);
  5. if(r==null)return false;
  6. var d=new Date(r[1], r[3]-1,r[4]);
  7. var vYear = d.getFullYear();
  8. var vMonth = d.getMonth() + 1;
  9. var quarter = Math.ceil(vMonth/3);
  10. var theDate;
  11. if(quarter=="1"){
  12. theDate = vYear+"-03-31";
  13. }else if(quarter=="2"){
  14. theDate = vYear + "-06-30";
  15. }else if(quarter=="3"){
  16. theDate = vYear + "-09-30";
  17. }else{
  18. theDate = vYear + "-12-31";
  19. }
  20. return theDate;
  21. }

例6:计算两个日期相差天数

  1. //计算两个日期相差天数
  2. function GetDateDiff(startDate,endDate)
  3. {
  4. var startTime = new Date(Date.parse(startDate.replace(/-/g, "/"))).getTime();
  5. var endTime = new Date(Date.parse(endDate.replace(/-/g, "/"))).getTime();
  6. var dates = Math.abs((startTime - endTime))/(1000*60*60*24);
  7. return dates;
  8. }

例7:日期验证起期<止期

  1. // 日期验证并保证起期<止期
  2. function checkBegindateAndEnddate(begindate,enddate){
  3. if(begindate!="" && enddate!=""){
  4. var reg=/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/;
  5. var r = begindate.match(reg);
  6. if(r==null)return false;
  7. var d1=new Date(r[1], r[3]-1,r[4]);
  8. var r1= enddate.match(reg);
  9. var d2=new Date(r1[1], r1[3]-1,r1[4]);
  10. if(d1>d2){
  11. alert("起期必须小于或等于止期");
  12. return false;
  13. }
  14. }
  15. return true;
  16. }

例8:日期验证并保证起期(月)<止期(月)并且不能超过一年

  1. //日期验证并保证起期(月)<止期(月)并且不能超过一年
  2. function checkBegindateAndEnddateOnlyOneYear(begindateObj,enddateObj,beginName,endName){
  3. if(begindateObj.value==""||begindateObj.value==null||begindateObj.value=="false"){
  4. alert("["+beginName+"]不能为空!");
  5. return false;
  6. }
  7. if(enddateObj.value==""||enddateObj.value==null||enddateObj.value=="false"){
  8. alert("["+endName+"]不能为空!");
  9. return false;
  10. }
  11. if(begindateObj.value!="" && enddateObj.value!=""){
  12. var reg=/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/;
  13. var s = begindateObj.value+"-01";
  14. var r = s.match(reg);
  15. if(r==null)return false;
  16. var d1=new Date(r[1], r[3]-1,r[4]);
  17. var d = enddateObj.value+"-01";
  18. var r1= d.match(reg);
  19. if(r1==null)return false;
  20. var d2=new Date(r1[1], r1[3]-1,r1[4]);
  21. var alltime=d2.getTime()-d1.getTime();
  22. var days=parseInt(alltime/(1000 * 60 * 60 * 24));
  23. if(days<0){
  24. alert(beginName+"必须小于或等于"+endName+"!");
  25. return false;
  26. }else if(days>340){
  27. alert(beginName+"与"+endName+"之间不能超过一年!");
  28. return false;
  29. }
  30. }
  31. return true;
  32. }

 

例9:获取起始月和终止月之间的月数

  1. //获取起始月和终止月之间的月数,start是传入的开始日期,end传入的结束日期 格式:2019-07-24
  2. function getMonthNum(start,end){
  3. var result = []; //建立数组,将取到的月份放入数组返回
  4. var s = start.split("-"); //取到年和月
  5. var e = end.split("-");
  6. var min = new Date();
  7. var max = new Date();
  8. min.setFullYear(s[0],s[1]); //将开始日期年月放入min
  9. max.setFullYear(e[0],e[1]); //将结束日期年月放入max
  10. var curr = min; //定义变量 = 开始日期的年月
  11. while(curr <= max){ //遍历,当开始日期小于等于结束日期的时候执行
  12. var month = curr.getMonth(); //得到开始日期的月份
  13. //month=month==0?12:month;
  14. var str="月份:";
  15. if(month=="0"){//因为月份是0-11,代表1-12月,在这里0相当于12月份
  16. str+="12";
  17. }else{
  18. str+=month;
  19. }
  20. result.push(str); //放入数组
  21. curr.setMonth(month+1);//执行完一次,给开始日期加 1 个月
  22. }
  23. return result; //返回取到开始日期和结束日期之间的月份
  24. }

例10:开始日期和结束日期之间不超过一年。并且结束日期不可晚于当前日期

  1. //开始日期和结束日期之间不超过一年。并且结束日期不可晚于当前日期
  2. function getDateInOneYear(begindate,enddate,beginName,endName){
  3. if(begindate.value!="" && enddate.value!=""){
  4. //获取当前日期
  5. var date = new Date();
  6. var vYear = date.getFullYear()//当前年
  7. var vMon = date.getMonth()+1;//当前月
  8. var vDay = date.getDate();//今天
  9. //当前日期为 年月日的拼接,加0是为了和传入的日期格式统一。
  10. var nowDate = vYear + "-" + (vMon < 10 ? "0" + vMon : vMon) + "-" + (vDay < 10 ? "0" + vDay : vDay);
  11. //转换成相同格式,将年月日之间‘-’转为了‘/’
  12. var nTime = new Date(nowDate.replace(new RegExp("-", "g"), "/"));
  13. var bTime = new Date(begindate.value.replace(new RegExp("-", "g"), "/"));
  14. var eTime = new Date(enddate.value.replace(new RegExp("-", "g"), "/"));
  15. //取开始日期和结束日期之间的天数。先获取毫秒值再计算。
  16. var days = parseInt((eTime.getTime()-bTime.getTime())/1000/60/60/24);
  17. //取当前日期和结束日期之间的天数。
  18. var td = parseInt((nTime.getTime()-eTime.getTime())/1000/60/60/24);
  19. if(td<0){
  20. alert("结束日期不可晚于当前日期");
  21. return false;
  22. }
  23. if(days<0){
  24. alert(endName+"不能小于"+beginName+"!");
  25. return false;
  26. }else if(days>365){
  27. alert(beginName+"与"+endName+"之间不能超过一年!");
  28. return false;
  29. }
  30. }
  31. return true;
  32. }

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/292300
推荐阅读
相关标签
  

闽ICP备14008679号