js或者JQ 如何把一个时间转换成只显示 月跟日呢

js或者JQ 如何把一个时间转换成只显示 月跟日呢,第1张

function fmt(date){

var d = new Date(date)

return `${agetMonth()+1}-${agetDate()}`

}

JQuery 的datepicker组件做日要选择一段日期期选择框非常方便

这里有 详细教程

但是如果需要选择一段时间,则需要两个datepicker,一个为起始日期,一个为结束日期

并且,结束日期需要永远晚于或者等于起始日期需要选择一段时间的应用场景很多,比如在OTA中,机票的往返日期,酒店入住和离店时间等

就需要这样的逻辑:

如果用户已经选择了起始日期,而后选择结束日期,那么结束日期的minDate(最早可选时间)不早于起始日期

如果用户已经选择结束日期,再选择起始日期,那么起始日期的maxDate(最晚可选时间)不晚于结束日期

上次在stackoverflow上看到有人这样写:

起始日期选择10月4日时,结束日期早于10月4日的便都无法选择

选择10月10日作为结束日期后,再回来选起始日期,可以看到10月10日之后的日期也都不可以选择了

function RunGLNL(){ var today=new Date(); var d=new Array("星期日","星期一","星期二","星期三","星期四","星期五","星期六"); var DDDD=(todaygetYear()<100 todaygetYear()+1900:todaygetYear())+"年"+(todaygetMonth()+1)+"月"+todaygetDate()+"日"; DDDD = DDDD + " " + d[todaygetDay()]; DDDD = DDDD+ " " + (CnDateofDateStr(today)); //DDDD = DDDD+ " " + SolarTerm(today); documentwrite(DDDD); } function DaysNumberofDate(DateGL){ return parseInt((Dateparse(DateGL)-Dateparse(DateGLgetYear()+"/1/1"))/86400000)+1; } function CnDateofDate(DateGL){ var CnData=new Array( 0x16,0x2a,0xda,0x00,0x83,0x49,0xb6,0x05,0x0e,0x64,0xbb,0x00,0x19,0xb2,0x5b,0x00, 0x87,0x6a,0x57,0x04,0x12,0x75,0x2b,0x00,0x1d,0xb6,0x95,0x00,0x8a,0xad,0x55,0x02, 0x15,0x55,0xaa,0x00,0x82,0x55,0x6c,0x07,0x0d,0xc9,0x76,0x00,0x17,0x64,0xb7,0x00, 0x86,0xe4,0xae,0x05,0x11,0xea,0x56,0x00,0x1b,0x6d,0x2a,0x00,0x88,0x5a,0xaa,0x04, 0x14,0xad,0x55,0x00,0x81,0xaa,0xd5,0x09,0x0b,0x52,0xea,0x00,0x16,0xa9,0x6d,0x00, 0x84,0xa9,0x5d,0x06,0x0f,0xd4,0xae,0x00,0x1a,0xea,0x4d,0x00,0x87,0xba,0x55,0x04 ); var CnMonth=new Array(); var CnMonthDays=new Array(); var CnBeginDay; var LeapMonth; var Bytes=new Array(); var I; var CnMonthData; var DaysCount; var CnDaysCount; var ResultMonth; var ResultDay; var yyyy=DateGLgetYear(); var mm=DateGLgetMonth()+1; var dd=DateGLgetDate(); if(yyyy<100) yyyy+=1900; if ((yyyy < 1997) || (yyyy > 2020)){ return 0; } Bytes[0] = CnData[(yyyy - 1997) 4]; Bytes[1] = CnData[(yyyy - 1997) 4 + 1]; Bytes[2] = CnData[(yyyy - 1997) 4 + 2]; Bytes[3] = CnData[(yyyy - 1997) 4 + 3]; if ((Bytes[0] & 0x80) != 0) {CnMonth[0] = 12;} else {CnMonth[0] = 11;} CnBeginDay = (Bytes[0] & 0x7f); CnMonthData = Bytes[1]; CnMonthData = CnMonthData << 8; CnMonthData = CnMonthData | Bytes[2]; LeapMonth = Bytes[3]; for (I=15;I>=0;I--){ CnMonthDays[15 - I] = 29; if (((1 << I) & CnMonthData) != 0 ){ CnMonthDays[15 - I]++;} if (CnMonth[15 - I] == LeapMonth ){ CnMonth[15 - I + 1] = - LeapMonth;} else{ if (CnMonth[15 - I] < 0 ){CnMonth[15 - I + 1] = - CnMonth[15 - I] + 1;} else {CnMonth[15 - I + 1] = CnMonth[15 - I] + 1;} if (CnMonth[15 - I + 1] > 12 ){ CnMonth[15 - I + 1] = 1;} } } DaysCount = DaysNumberofDate(DateGL) - 1; if (DaysCount <= (CnMonthDays[0] - CnBeginDay)){ if ((yyyy > 1901) && (CnDateofDate(new Date((yyyy - 1)+"/12/31")) < 0)){ ResultMonth = - CnMonth[0];} else {ResultMonth = CnMonth[0];} ResultDay = CnBeginDay + DaysCount; } else{ CnDaysCount = CnMonthDays[0] - CnBeginDay; I = 1; while ((CnDaysCount < DaysCount) && (CnDaysCount + CnMonthDays[I] < DaysCount)){ CnDaysCount+= CnMonthDays[I]; I++; } ResultMonth = CnMonth[I]; ResultDay = DaysCount - CnDaysCount; } if (ResultMonth > 0){ return ResultMonth 100 + ResultDay;} else{return ResultMonth 100 - ResultDay;} } function CnYearofDate(DateGL){ var YYYY=DateGLgetYear(); var MM=DateGLgetMonth()+1; var CnMM=parseInt(Mathabs(CnDateofDate(DateGL))/100); if(YYYY<100) YYYY+=1900; if(CnMM>MM) YYYY--; YYYY-=1864; return CnEra(YYYY)+"年"; } function CnMonthofDate(DateGL){ var CnMonthStr=new Array("零","正","二","三","四","五","六","七","八","九","十","十一","腊"); var Month; Month = parseInt(CnDateofDate(DateGL)/100); if (Month < 0){return "闰" + CnMonthStr[-Month] + "月";} else{return CnMonthStr[Month] + "月";} } function CnDayofDate(DateGL){ var CnDayStr=new Array("零", "初一", "初二", "初三", "初四", "初五", "初六", "初七", "初八", "初九", "初十", "十一", "十二", "十三", "十四", "十五", "十六", "十七", "十八", "十九", "二十", "廿一", "廿二", "廿三", "廿四", "廿五", "廿六", "廿七", "廿八", "廿九", "三十"); var Day; Day = (Mathabs(CnDateofDate(DateGL)))%100; return CnDayStr[Day]; } function DaysNumberofMonth(DateGL){ var MM1=DateGLgetYear(); MM1<100 MM1+=1900:MM1; var MM2=MM1; MM1+="/"+(DateGLgetMonth()+1); MM2+="/"+(DateGLgetMonth()+2); MM1+="/1"; MM2+="/1"; return parseInt((Dateparse(MM2)-Dateparse(MM1))/86400000); } function CnEra(YYYY){ var Tiangan=new Array("甲","乙","丙","丁","戊","己","庚","辛","壬","癸"); //var Dizhi=new Array("子(鼠)","丑(牛)","寅(虎)","卯(兔)","辰(龙)","巳(蛇)", //"午(马)","未(羊)","申(猴)","酉(鸡)","戌(狗)","亥(猪)"); var Dizhi=new Array("子","丑","寅","卯","辰","巳","午","未","申","酉","戌","亥"); return Tiangan[YYYY%10]+Dizhi[YYYY%12]; } function CnDateofDateStr(DateGL){ if(CnMonthofDate(DateGL)=="零月") return " 请调整您的计算机日期!"; else return "农历:"+CnYearofDate(DateGL)+ " " + CnMonthofDate(DateGL) + CnDayofDate(DateGL); } function SolarTerm(DateGL){ var SolarTermStr=new Array( "小寒","大寒","立春","雨水","惊蛰","春分", "清明","谷雨","立夏","小满","芒种","夏至", "小暑","大暑","立秋","处暑","白露","秋分", "寒露","霜降","立冬","小雪","大雪","冬至"); var DifferenceInMonth=new Array( 1272060,1275495,1281180,1289445,1299225,1310355, 1321560,1333035,1342770,1350855,1356420,1359045, 1358580,1355055,1348695,1340040,1329630,1318455, 1306935,1297380,1286865,1277730,1274550,1271556); var DifferenceInYear=31556926; var BeginTime=new Date(1901/1/1); BeginTimesetTime(947120460000); for(;DateGLgetYear()<BeginTimegetYear();){ BeginTimesetTime(BeginTimegetTime()-DifferenceInYear1000); } for(;DateGLgetYear()>BeginTimegetYear();){ BeginTimesetTime(BeginTimegetTime()+DifferenceInYear1000); } for(var M=0;DateGLgetMonth()>BeginTimegetMonth();M++){ BeginTimesetTime(BeginTimegetTime()+DifferenceInMonth[M]1000); } if(DateGLgetDate()>BeginTimegetDate()){ BeginTimesetTime(BeginTimegetTime()+DifferenceInMonth[M]1000); M++; } if(DateGLgetDate()>BeginTimegetDate()){ BeginTimesetTime(BeginTimegetTime()+DifferenceInMonth[M]1000); M==23M=0:M++; } var JQ; if(DateGLgetDate()==BeginTimegetDate()){ JQ=" 今天是<font color='#FF9999'><b>"+SolarTermStr[M] + "</b></font>"; } else if(DateGLgetDate()==BeginTimegetDate()-1){ JQ=" 明天是<font color='#FF9999'><b>"+SolarTermStr[M] + "</b></font>"; } else if(DateGLgetDate()==BeginTimegetDate()-2){ JQ=" 后天是<font color='#FF9999'><b>"+SolarTermStr[M] + "</b></font>"; } else{ JQ=" " if(DateGLgetMonth()==BeginTimegetMonth()){ JQ+=" 本月"; } else{ JQ+=" 下月"; } JQ+=BeginTimegetDate()+"日"+"<font color='#FF9999'><b>"+SolarTermStr[M]+"</b></font>"; } return JQ; } function CAL() {} RunGLNL(); 详细出处参考: >

======时间差的计算

地球上两地之间最大的时差为12小时,因为地球总共有24个时区,最大的时间间隔也就是一半那么长,即12小时。哪里来的一个月

首先获取时间对应的毫秒数。例如:var date1 = new Date(DateUTC(2005,4,5,17,55,55))

var date2 = new Date(DateUTC(……))

分别解释下括号里面的6个参数 :第一个 年份;

第二个:月份,(月份是从0-11)因此表示5月份

第三个:日期 5号

第四个:17代表下午5点(24小时制,0-23)

第五个:分(0-59)

第六个 :秒(0-59)

前两个参数 年份、月份是必填参数,其他可选填,默认为0;

var result = date2-date1

获取到时间差的毫秒数。然后经过数学计算获得 对应的 小时 分钟 秒;

<HTML>

    <HEAD>

        <title>年月日三联动下拉框</title>

        <meta >

以上就是关于js或者JQ 如何把一个时间转换成只显示 月跟日呢全部的内容,包括:js或者JQ 如何把一个时间转换成只显示 月跟日呢、JQuery datepicker 实现选取一段时间、求js详细时间代码,年月日星期时分(秒),阴历日期等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://54852.com/web/10040381.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存