Linux ip-172-26-7-228 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64
Apache
: 172.26.7.228 | : 3.138.125.143
Cant Read [ /etc/named.conf ]
5.6.40-24+ubuntu18.04.1+deb.sury.org+1
www-data
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
HASH IDENTIFIER
README
+ Create Folder
+ Create File
/
var /
www /
oasis /
js /
[ HOME SHELL ]
Name
Size
Permission
Action
Report
[ DIR ]
drwxr-xr-x
base_file
[ DIR ]
drwxr-xr-x
events
[ DIR ]
drwxr-xr-x
popups
[ DIR ]
drwxr-xr-x
.DS_Store
12
KB
-rwxr-xr-x
AbsentEntrySubjectWise.js
15.19
KB
-rwxr-xr-x
AllkeyEvent.js
37.26
KB
-rw-rw-r--
AllkeyEvent_20102021.js
37.24
KB
-rwxr-xr-x
Att_Ent_Teacher_Wise.js
10.99
KB
-rw-rw-r--
Barchart.js
13.12
KB
-rw-rw-r--
CIEAttendanceNotEligible.js
7.23
KB
-rw-rw-r--
CIEpendingList.js
5.97
KB
-rw-rw-r--
Dispatch_answer_script.js
18.53
KB
-rwxr-xr-x
Dispatch_answer_script_qp.js
16.83
KB
-rwxr-xr-x
ECHblk.js
8.11
KB
-rwxr-xr-x
IdentifyTransactions.js
2.18
KB
-rwxr-xr-x
MainPage.js
18.36
KB
-rwxr-xr-x
MainPage_wait.js
15.19
KB
-rwxr-xr-x
Message_board.js
5.09
KB
-rwxr-xr-x
RvRtAcknowledgement.js
6.95
KB
-rw-rw-r--
SelectSubjType.js
11.2
KB
-rw-rw-r--
SubjectType.js
11.27
KB
-rw-rw-r--
UpdateCollDet.js
8.15
KB
-rwxr-xr-x
absentEntryYearModewise.js
10.67
KB
-rw-rw-r--
absentMalpractice.js
3.04
KB
-rw-rw-r--
absententrysubjectwiseQP.js
20.23
KB
-rwxr-xr-x
ack_adm_application.js
57.5
KB
-rwxr-xr-x
ack_admentry_application.js
57.78
KB
-rwxr-xr-x
ack_admentry_application_dud.j...
56.55
KB
-rwxr-xr-x
ack_exam_app_form.js
4.1
KB
-rwxr-xr-x
ack_exam_app_form_bulk.js
2.21
KB
-rwxr-xr-x
ack_rv_rt_application.js
2.59
KB
-rwxr-xr-x
adm_delete_data.js
3.05
KB
-rwxr-xr-x
admchallanpreparation.js
5.97
KB
-rwxr-xr-x
admdownloadexsheet.js
460
B
-rwxr-xr-x
admentry_nitte.js
137.48
KB
-rw-rw-r--
admission_approve.js
23.71
KB
-rwxr-xr-x
admission_approve_kus.js
29.13
KB
-rwxr-xr-x
admission_entry_reg.js
46.19
KB
-rwxr-xr-x
admission_entry_status.js
1.12
KB
-rwxr-xr-x
admissionapplist.js
3.9
KB
-rwxr-xr-x
admstuddate.js
4.22
KB
-rwxr-xr-x
admuploadexsheet.js
1.4
KB
-rwxr-xr-x
affliation_fee.js
24.58
KB
-rwxrwxrwx
attDegwiseReport.js
3.08
KB
-rw-r--r--
attTeachSum.js
4.16
KB
-rw-r--r--
attendance.js
10.68
KB
-rwxr-xr-x
attendanceReportForm.js
5.01
KB
-rw-rw-r--
attendance_freez.js
6.34
KB
-rwxr-xr-x
attendanceentrydaywise.js
26.78
KB
-rw-r--r--
attendenceshort.js
5.52
KB
-rw-rw-r--
attiacombined.js
3.07
KB
-rwxr-xr-x
attreport.js
3.26
KB
-rw-rw-r--
backup.js
7.98
KB
-rwxr-xr-x
backup_restore.js
1.33
KB
-rwxr-xr-x
batchSetup.js
10.76
KB
-rw-rw-r--
batch_setup.js
10.07
KB
-rwxr-xr-x
batchwisetimetable.js
16.77
KB
-rw-rw-r--
bill_details.js
1.02
KB
-rw-rw-r--
bundle_ack.js
1.5
KB
-rwxr-xr-x
bundle_dispatch.js
8.74
KB
-rwxr-xr-x
bundle_rec_ack.js
1.16
KB
-rwxr-xr-x
calendar-en.js
3.52
KB
-rwxr-xr-x
calendar-setup.js
8.83
KB
-rwxr-xr-x
calendar.js
51.74
KB
-rwxr-xr-x
calender.js
639
B
-rwxr-xr-x
candidate_list.js
33.92
KB
-rwxr-xr-x
centerdet.js
1.45
KB
-rw-rw-r--
challan_entries.js
4.08
KB
-rwxr-xr-x
challan_preparation.js
2.86
KB
-rwxr-xr-x
changeAdmDegree.js
4.01
KB
-rwxr-xr-x
changeMobile.js
3.15
KB
-rwxr-xr-x
checkbrowser.js
2.77
KB
-rwxr-xr-x
classtimetablerpt.js
1.91
KB
-rw-r--r--
cntrDeclaration.js
3.66
KB
-rwxr-xr-x
coll_exam_app_form.js
2.11
KB
-rwxr-xr-x
collbankdet.js
2.49
KB
-rwxr-xr-x
colldesp_ack.js
3.58
KB
-rw-rw-r--
college.js
4.64
KB
-rwxr-xr-x
college_approve.js
23.41
KB
-rwxr-xr-x
college_degree_status.js
3.32
KB
-rwxr-xr-x
collegedet.js
1.47
KB
-rwxr-xr-x
collegewisedownload.js
1.26
KB
-rw-rw-r--
collfundtransfer.js
5.16
KB
-rwxr-xr-x
collinfo_popup.js
10.32
KB
-rwxr-xr-x
colltransfer.js
7.87
KB
-rw-rw-r--
convdet.js
5.91
KB
-rwxr-xr-x
convo.js
13.55
KB
-rw-rw-r--
copomarksentryexternal.js
12.23
KB
-rw-r--r--
copomarkslist.js
2.69
KB
-rw-rw-r--
copomaxmarksentry.js
5.29
KB
-rw-r--r--
coporeport.js
2.37
KB
-rw-r--r--
coposurvey.js
4.53
KB
-rw-rw-r--
courserep.js
1.91
KB
-rw-r--r--
createAdmission.js
12.52
KB
-rwxr-xr-x
createClass.js
18.84
KB
-rw-rw-r--
createattclass.js
9.28
KB
-rw-rw-r--
createclass.js
20.93
KB
-rw-r--r--
daterange.js
7.74
KB
-rwxr-xr-x
deggrp.js
7.48
KB
-rw-rw-r--
deggrpwisepiechart.js
9.62
KB
-rw-rw-r--
degree.js
3.1
KB
-rwxr-xr-x
degree_Subject_Report.js
2.9
KB
-rw-rw-r--
degreegrpwisestud.js
1.72
KB
-rw-rw-r--
degreewisestdusn.js
1.25
KB
-rw-rw-r--
degstudymat.js
4.9
KB
-rwxr-xr-x
degstudymatdet.js
3.58
KB
-rwxr-xr-x
degwiseIAreport.js
5.8
KB
-rw-rw-r--
doc_verification.js
2.33
KB
-rwxr-xr-x
downloadStudentPhotos.js
1.13
KB
-rwxr-xr-x
download_misc_files.js
838
B
-rwxr-xr-x
download_misc_files_new.js
1.65
KB
-rwxr-xr-x
editstddet.js
5.83
KB
-rw-rw-r--
elementwisereport.js
5.42
KB
-rw-rw-r--
enableStudReg.js
6.6
KB
-rwxr-xr-x
enableprintapplication_ru.js
46.21
KB
-rw-rw-r--
entryexitevents.js
1.36
KB
-rwxr-xr-x
examAttendanceReport.js
2.38
KB
-rwxr-xr-x
examappfeereport.js
3.02
KB
-rw-rw-r--
export_import.js
1.62
KB
-rwxr-xr-x
export_import_setup.js
5.65
KB
-rwxr-xr-x
feepaidreports.js
2.08
KB
-rwxr-xr-x
feeupdation.js
5.83
KB
-rwxr-xr-x
finalCieMarks.js
2.62
KB
-rw-rw-r--
footer.js
6.73
KB
-rwxr-xr-x
form_submit.js
1.3
KB
-rwxr-xr-x
formatdate.js
13.87
KB
-rwxr-xr-x
freeze_Ad_Cl_Me.js
2.86
KB
-rwxr-xr-x
freeze_module_at_admin_college...
12.8
KB
-rwxr-xr-x
freeze_module_at_admin_college...
6.09
KB
-rwxr-xr-x
freeze_module_at_university_co...
4.85
KB
-rwxr-xr-x
freezeiaprici.js
13.76
KB
-rwxr-xr-x
grid_display.js
939
B
-rwxr-xr-x
gtransapi.js
398.2
KB
-rwxrwxrwx
htblk.js
5.18
KB
-rwxr-xr-x
iaMarksReport.js
6.91
KB
-rw-r--r--
iaMarksReportnew.js
6.99
KB
-rw-r--r--
iaSummaryReport.js
2.51
KB
-rw-r--r--
ia_invigilators_dairy.js
3.3
KB
-rwxr-xr-x
ia_room_allotment_datewise.js
5.99
KB
-rwxr-xr-x
ia_roomwise_regno.js
4.11
KB
-rw-r--r--
ia_subjectwise_invigilator_dai...
4.04
KB
-rwxr-xr-x
iaabsentEntry.js
7.21
KB
-rw-r--r--
iacombined.js
5.79
KB
-rw-r--r--
iamarks.js
2.3
KB
-rw-rw-r--
iaroomallotmantsummary.js
1.08
KB
-rwxr-xr-x
iaroomdeclaration.js
10.39
KB
-rwxr-xr-x
iasectionwise.js
5.6
KB
-rw-r--r--
iatimetable.js
4.07
KB
-rw-r--r--
identifyCoMarks.js
12.01
KB
-rw-rw-r--
identifyCoMarksNew.js
9.38
KB
-rw-rw-r--
import_marks.js
1.41
KB
-rwxr-xr-x
includeCSS.js
1.31
KB
-rwxr-xr-x
index.js
31.67
KB
-rwxr-xr-x
index_wait.js
29.59
KB
-rwxr-xr-x
invig_report.js
2.82
KB
-rw-rw-r--
invigilators_dairy.js
8.63
KB
-rwxr-xr-x
invigilators_dairy_gug.js
5.52
KB
-rwxr-xr-x
invigilators_dairy_new.js
8.91
KB
-rwxr-xr-x
invigilators_dairy_newone.js
10.72
KB
-rw-rw-r--
invigilators_dairy_stph.js
6.9
KB
-rw-rw-r--
jquery.color.js
4.5
KB
-rwxr-xr-x
jquery.js
29.42
KB
-rwxr-xr-x
lateralentry.js
4.92
KB
-rwxr-xr-x
load-report-js-files.js
11.17
KB
-rwxr-xr-x
load_js_files.js
676
B
-rwxr-xr-x
load_mannual_js_files.js
74.4
KB
-rwxr-xr-x
markentry_studentwise.js
9.95
KB
-rwxr-xr-x
markentry_subjectwise.js
18.8
KB
-rwxr-xr-x
markentry_subjectwise_bf_gcg.j...
17.73
KB
-rwxr-xr-x
marksEntryExt.js
4.3
KB
-rw-r--r--
marksentryexternal.js
11.09
KB
-rw-rw-r--
marksentryquestionwise.js
49.92
KB
-rw-rw-r--
marksentrytwo.js
9.43
KB
-rw-r--r--
marksentrytwonew.js
9.9
KB
-rw-r--r--
markslistelement_report.js
6.46
KB
-rwxr-xr-x
message_text.js
2.05
KB
-rwxr-xr-x
mobiscroll.jquery.min.js
429.36
KB
-rw-r--r--
module_setup.js
4.7
KB
-rwxr-xr-x
month_cal.js
74.26
KB
-rwxr-xr-x
oldqnpaper.js
4.27
KB
-rw-rw-r--
openPopUp.js
5.22
KB
-rwxr-xr-x
passwordshow.js
59
B
-rw-rw-r--
pendingcielist.js
3.32
KB
-rw-rw-r--
piecharttesting.js
64
B
-rw-rw-r--
popup.js
123.65
KB
-rw-rw-r--
popup_20102021.js
122.39
KB
-rwxr-xr-x
popupold.js
61.77
KB
-rwxr-xr-x
postnotification.js
10.25
KB
-rwxr-xr-x
practcalDailyReport.js
2.88
KB
-rw-rw-r--
practicalMarks.js
10.96
KB
-rw-rw-r--
prbillreport.js
2.82
KB
-rw-r--r--
principalfreezingsubject.js
7.31
KB
-rw-rw-r--
principleFreeze.js
7.88
KB
-rw-rw-r--
pwschange.js
1.08
KB
-rwxr-xr-x
qnwiseMarksStats.js
8.94
KB
-rw-rw-r--
qnwisemarksentrynew.js
13.59
KB
-rw-rw-r--
qpSummaryReport.js
2.09
KB
-rw-r--r--
qpissue.js
1.55
KB
-rwxr-xr-x
receive_rv_rt_application.js
2.87
KB
-rwxr-xr-x
receive_teach_transfer.js
5.08
KB
-rw-rw-r--
remove_exam_ack.js
1.07
KB
-rwxr-xr-x
remunerationEntry.js
14.77
KB
-rw-rw-r--
repeateriamarksentry.js
6.82
KB
-rw-rw-r--
report_Admission_Ticket_Jsstu....
5.11
KB
-rwxr-xr-x
report_SubjectListGeneral.js
3.49
KB
-rwxr-xr-x
report_admission_list_vku.js
2.82
KB
-rwxrwxrwx
report_exam_application_form.j...
2.78
KB
-rwxr-xr-x
report_reg_list_gcg.js
2.48
KB
-rw-rw-r--
report_setup.js
13.38
KB
-rwxr-xr-x
resetPasseordValidate.js
2.58
KB
-rw-rw-r--
resultsheet.js
15.67
KB
-rwxr-xr-x
revaluation.js
8.27
KB
-rwxr-xr-x
revaluation_withdegree.js
8.24
KB
-rwxr-xr-x
rommcreationnew.js
6.44
KB
-rw-rw-r--
room_allotment.js
3.97
KB
-rwxr-xr-x
room_allotment_datewise.js
8.63
KB
-rwxr-xr-x
room_allotment_datewise_stph.j...
8.05
KB
-rwxr-xr-x
room_allotment_datewise_stph_n...
6.08
KB
-rwxr-xr-x
room_allotment_shifiting.js
3.38
KB
-rw-r--r--
roomallotmantsummary.js
3.2
KB
-rwxr-xr-x
roomallotmantsummary_new.js
3.67
KB
-rwxr-xr-x
roomallotmentqpwise.js
21.32
KB
-rw-rw-r--
roomallotmentqpwisenew.js
22.03
KB
-rw-rw-r--
roomdeclaration.js
6.54
KB
-rwxr-xr-x
roomdeclaration_stph.js
11.6
KB
-rwxr-xr-x
roomwise_regno.js
6.22
KB
-rw-rw-r--
roomwiseinvigilatorsEntry.js
15.28
KB
-rw-rw-r--
rv_rt_guide_lines.js
466
B
-rwxr-xr-x
rv_rt_report.js
5.67
KB
-rwxrwxrwx
rvdates.js
8.94
KB
-rw-rw-r--
savesemster.js
5.13
KB
-rw-rw-r--
sectionwisepermission.js
4.98
KB
-rwxr-xr-x
semwiseresultanalysis.js
8.68
KB
-rw-rw-r--
shortLists.js
6.53
KB
-rw-rw-r--
std_register_det.js
9.56
KB
-rw-rw-r--
studSubIdent.js
5.34
KB
-rw-r--r--
stud_wise_report.js
4.4
KB
-rw-rw-r--
studdet.js
2.84
KB
-rw-rw-r--
student_entry.js
54.15
KB
-rwxr-xr-x
student_entry_kswu.js
50.1
KB
-rwxr-xr-x
student_entry_rur.js
121.59
KB
-rw-rw-r--
student_entry_rur_new.js
119.52
KB
-rw-rw-r--
student_entry_vku.js
116.63
KB
-rwxr-xr-x
studentphotolist.js
1.75
KB
-rw-rw-r--
studentreport.js
2.29
KB
-rw-rw-r--
studentres.js
770
B
-rw-r--r--
studnamecorr.js
8.13
KB
-rw-rw-r--
subIAMarksEntry.js
8.08
KB
-rw-rw-r--
subblock.js
4.97
KB
-rwxr-xr-x
subdet.js
20.4
KB
-rw-rw-r--
subdetails.js
30.32
KB
-rw-rw-r--
subjReg.js
6.08
KB
-rw-r--r--
subjectAppearing_PopUp.js
2.06
KB
-rwxr-xr-x
subject_freshExam.js
12.67
KB
-rwxr-xr-x
subjectfreez.js
12.3
KB
-rwxr-xr-x
subjectwisePiechart.js
10.97
KB
-rw-rw-r--
subjectwise_freezing_sectionwi...
7.97
KB
-rwxr-xr-x
subjectwise_invigilator_dairy....
4.29
KB
-rwxr-xr-x
subjectwise_invigilator_dairy_...
2.79
KB
-rwxr-xr-x
subshort.js
6.34
KB
-rw-rw-r--
system.js
12.41
KB
-rwxr-xr-x
system_utility.js
8.74
KB
-rwxr-xr-x
tatkal.js
1.23
KB
-rw-rw-r--
teachFreeze.js
8.78
KB
-rw-r--r--
teachOficerEntry.js
7.25
KB
-rwxr-xr-x
teacher_val_report.js
656
B
-rwxr-xr-x
teachers.js
34.27
KB
-rwxr-xr-x
teachersreport.js
1.25
KB
-rwxr-xr-x
testwiseMarksReport.js
4.08
KB
-rw-rw-r--
theorymarksentry.js
7.32
KB
-rw-rw-r--
thvalmarks.js
2.63
KB
-rw-r--r--
time_table_degreewise.js
3.65
KB
-rwxrwxrwx
topsheet.js
1.1
KB
-rwxr-xr-x
transaction-series.js
6.92
KB
-rwxr-xr-x
updateSection.js
7.09
KB
-rwxr-xr-x
updatecopo.js
22.77
KB
-rw-r--r--
updatedegreegroup.js
7.09
KB
-rw-rw-r--
updatefreshexam.js
1.52
KB
-rw-rw-r--
updatesspdetails.js
14.81
KB
-rw-rw-r--
updatetimetable.js
17.27
KB
-rw-r--r--
updateuvcms.js
6.2
KB
-rw-rw-r--
updmarks.js
837
B
-rwxr-xr-x
updnemp.js
827
B
-rwxr-xr-x
uploadStudentPhotos.js
5.15
KB
-rwxr-xr-x
upload_details.js
4.15
KB
-rwxr-xr-x
upload_doc_demo.js
2.03
KB
-rw-rw-r--
uploadcopo.js
3.16
KB
-rw-r--r--
uploadteachattend.js
8.56
KB
-rw-r--r--
userpasswordreset.js
6.5
KB
-rw-rw-r--
usersetup.js
37.94
KB
-rwxr-xr-x
usersetupNew.js
3.93
KB
-rwxr-xr-x
usersubj_identification.js
4.83
KB
-rwxr-xr-x
validate.js
9.84
KB
-rwxr-xr-x
viewNotifications.js
5.95
KB
-rw-rw-r--
view_ledger.js
7.89
KB
-rwxrwxrwx
yearmode.js
6.55
KB
-rw-rw-r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : formatdate.js
// =================================================================== // Author: Matt Kruse <matt@mattkruse.com> // WWW: http://www.mattkruse.com/ // // NOTICE: You may use this code for any purpose, commercial or // private, without any further permission from the author. You may // remove this notice from your final code if you wish, however it is // appreciated by the author if at least my web site address is kept. // // You may *NOT* re-distribute this code in any way except through its // use. That means, you can include it in your product, or your web // site, or any other form where the code is actually being used. You // may not put the plain javascript up on your site for download or // include it in your javascript libraries for download. // If you wish to share this code with others, please just point them // to the URL instead. // Please DO NOT link directly to my .js files from your site. Copy // the files to your server and use them there. Thank you. // =================================================================== // HISTORY // ------------------------------------------------------------------ // May 17, 2003: Fixed bug in parseDate() for dates <1970 // March 11, 2003: Added parseDate() function // March 11, 2003: Added "NNN" formatting option. Doesn't match up // perfectly with SimpleDateFormat formats, but // backwards-compatability was required. // ------------------------------------------------------------------ // These functions use the same 'format' strings as the // java.text.SimpleDateFormat class, with minor exceptions. // The format string consists of the following abbreviations: // // Field | Full Form | Short Form // -------------+--------------------+----------------------- // Year | yyyy (4 digits) | yy (2 digits), y (2 or 4 digits) // Month | MMM (name or abbr.)| MM (2 digits), M (1 or 2 digits) // | NNN (abbr.) | // Day of Month | dd (2 digits) | d (1 or 2 digits) // Day of Week | EE (name) | E (abbr) // Hour (1-12) | hh (2 digits) | h (1 or 2 digits) // Hour (0-23) | HH (2 digits) | H (1 or 2 digits) // Hour (0-11) | KK (2 digits) | K (1 or 2 digits) // Hour (1-24) | kk (2 digits) | k (1 or 2 digits) // Minute | mm (2 digits) | m (1 or 2 digits) // Second | ss (2 digits) | s (1 or 2 digits) // AM/PM | a | // // NOTE THE DIFFERENCE BETWEEN MM and mm! Month=MM, not mm! // Examples: // "MMM d, y" matches: January 01, 2000 // Dec 1, 1900 // Nov 20, 00 // "M/d/yy" matches: 01/20/00 // 9/2/00 // "MMM dd, yyyy hh:mm:ssa" matches: "January 01, 2000 12:30:45AM" // ------------------------------------------------------------------ var MONTH_NAMES = new Array( "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" ); var DAY_NAMES = new Array( "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" ); function LZ(x) { return (x < 0 || x > 9 ? "" : "0") + x; } // ------------------------------------------------------------------ // isDate ( date_string, format_string ) // Returns true if date string matches format of format string and // is a valid date. Else returns false. // It is recommended that you trim whitespace around the value before // passing it to this function, as whitespace is NOT ignored! // ------------------------------------------------------------------ function isDate(val, format) { if (val == "00/00/0000") return true; else { var date = getDateFromFormat(val, format); if (date == 0) { return false; } return true; } } // ------------------------------------------------------------------- // compareDates(date1,date1format,date2,date2format) // Compare two date strings to see which is greater. // Returns: // 1 if date1 is greater than date2 // 0 if date2 is greater than date1 of if they are the same // -1 if either of the dates is in an invalid format // ------------------------------------------------------------------- function compareDates(date1, dateformat1, date2, dateformat2) { var d1 = getDateFromFormat(date1, dateformat1); var d2 = getDateFromFormat(date2, dateformat2); if (d1 == 0 || d2 == 0) { return -1; } else if (d1 > d2) { return 1; } return 0; } // ------------------------------------------------------------------ // formatDate (date_object, format) // Returns a date in the output format specified. // The format string uses the same abbreviations as in getDateFromFormat() // ------------------------------------------------------------------ function formatDate(date, format) { format = format + ""; var result = ""; var i_format = 0; var c = ""; var token = ""; var y = date.getYear() + ""; var M = date.getMonth() + 1; var d = date.getDate(); var E = date.getDay(); var H = date.getHours(); var m = date.getMinutes(); var s = date.getSeconds(); var yyyy, yy, MMM, MM, dd, hh, h, mm, ss, ampm, HH, H, KK, K, kk, k; // Convert real date parts into formatted versions var value = new Object(); if (y.length < 4) { y = "" + (y - 0 + 1900); } value["y"] = "" + y; value["yyyy"] = y; value["yy"] = y.substring(2, 4); value["M"] = M; value["MM"] = LZ(M); value["MMM"] = MONTH_NAMES[M - 1]; value["NNN"] = MONTH_NAMES[M + 11]; value["d"] = d; value["dd"] = LZ(d); value["E"] = DAY_NAMES[E + 7]; value["EE"] = DAY_NAMES[E]; value["H"] = H; value["HH"] = LZ(H); if (H == 0) { value["h"] = 12; } else if (H > 12) { value["h"] = H - 12; } else { value["h"] = H; } value["hh"] = LZ(value["h"]); if (H > 11) { value["K"] = H - 12; } else { value["K"] = H; } value["k"] = H + 1; value["KK"] = LZ(value["K"]); value["kk"] = LZ(value["k"]); if (H > 11) { value["a"] = "PM"; } else { value["a"] = "AM"; } value["m"] = m; value["mm"] = LZ(m); value["s"] = s; value["ss"] = LZ(s); while (i_format < format.length) { c = format.charAt(i_format); token = ""; while (format.charAt(i_format) == c && i_format < format.length) { token += format.charAt(i_format++); } if (value[token] != null) { result = result + value[token]; } else { result = result + token; } } return result; } // ------------------------------------------------------------------ // Utility functions for parsing in getDateFromFormat() // ------------------------------------------------------------------ function _isInteger(val) { var digits = "1234567890"; for (var i = 0; i < val.length; i++) { if (digits.indexOf(val.charAt(i)) == -1) { return false; } } return true; } function _getInt(str, i, minlength, maxlength) { for (var x = maxlength; x >= minlength; x--) { var token = str.substring(i, i + x); if (token.length < minlength) { return null; } if (_isInteger(token)) { return token; } } return null; } // ------------------------------------------------------------------ // getDateFromFormat( date_string , format_string ) // // This function takes a date string and a format string. It matches // If the date string matches the format string, it returns the // getTime() of the date. If it does not match, it returns 0. // ------------------------------------------------------------------ function getDateFromFormat(val, format) { val = val + ""; format = format + ""; var i_val = 0; var i_format = 0; var c = ""; var token = ""; var token2 = ""; var x, y; var now = new Date(); var year = now.getYear(); var month = now.getMonth() + 1; var date = 1; var hh = now.getHours(); var mm = now.getMinutes(); var ss = now.getSeconds(); var ampm = ""; while (i_format < format.length) { // Get next token from format string c = format.charAt(i_format); token = ""; while (format.charAt(i_format) == c && i_format < format.length) { token += format.charAt(i_format++); } // Extract contents of value based on format token if (token == "yyyy" || token == "yy" || token == "y") { if (token == "yyyy") { x = 4; y = 4; } if (token == "yy") { x = 2; y = 2; } if (token == "y") { x = 2; y = 4; } year = _getInt(val, i_val, x, y); if (year == null) { return 0; } i_val += year.length; if (year.length == 2) { if (year > 70) { year = 1900 + (year - 0); } else { year = 2000 + (year - 0); } } } else if (token == "MMM" || token == "NNN") { month = 0; for (var i = 0; i < MONTH_NAMES.length; i++) { var month_name = MONTH_NAMES[i]; if ( val.substring(i_val, i_val + month_name.length).toLowerCase() == month_name.toLowerCase() ) { if (token == "MMM" || (token == "NNN" && i > 11)) { month = i + 1; if (month > 12) { month -= 12; } i_val += month_name.length; break; } } } if (month < 1 || month > 12) { return 0; } } else if (token == "EE" || token == "E") { for (var i = 0; i < DAY_NAMES.length; i++) { var day_name = DAY_NAMES[i]; if ( val.substring(i_val, i_val + day_name.length).toLowerCase() == day_name.toLowerCase() ) { i_val += day_name.length; break; } } } else if (token == "MM" || token == "M") { month = _getInt(val, i_val, token.length, 2); if (month == null || month < 1 || month > 12) { return 0; } i_val += month.length; } else if (token == "dd" || token == "d") { date = _getInt(val, i_val, token.length, 2); if (date == null || date < 1 || date > 31) { return 0; } i_val += date.length; } else if (token == "hh" || token == "h") { hh = _getInt(val, i_val, token.length, 2); if (hh == null || hh < 1 || hh > 12) { return 0; } i_val += hh.length; } else if (token == "HH" || token == "H") { hh = _getInt(val, i_val, token.length, 2); if (hh == null || hh < 0 || hh > 23) { return 0; } i_val += hh.length; } else if (token == "KK" || token == "K") { hh = _getInt(val, i_val, token.length, 2); if (hh == null || hh < 0 || hh > 11) { return 0; } i_val += hh.length; } else if (token == "kk" || token == "k") { hh = _getInt(val, i_val, token.length, 2); if (hh == null || hh < 1 || hh > 24) { return 0; } i_val += hh.length; hh--; } else if (token == "mm" || token == "m") { mm = _getInt(val, i_val, token.length, 2); if (mm == null || mm < 0 || mm > 59) { return 0; } i_val += mm.length; } else if (token == "ss" || token == "s") { ss = _getInt(val, i_val, token.length, 2); if (ss == null || ss < 0 || ss > 59) { return 0; } i_val += ss.length; } else if (token == "a") { if (val.substring(i_val, i_val + 2).toLowerCase() == "am") { ampm = "AM"; } else if (val.substring(i_val, i_val + 2).toLowerCase() == "pm") { ampm = "PM"; } else { return 0; } i_val += 2; } else { if (val.substring(i_val, i_val + token.length) != token) { return 0; } else { i_val += token.length; } } } // If there are any trailing characters left in the value, it doesn't match if (i_val != val.length) { return 0; } // Is date valid for month? if (month == 2) { // Check for leap year if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) { // leap year if (date > 29) { return 0; } } else { if (date > 28) { return 0; } } } if (month == 4 || month == 6 || month == 9 || month == 11) { if (date > 30) { return 0; } } // Correct hours value if (hh < 12 && ampm == "PM") { hh = hh - 0 + 12; } else if (hh > 11 && ampm == "AM") { hh -= 12; } var newdate = new Date(year, month - 1, date, hh, mm, ss); return newdate.getTime(); } // ------------------------------------------------------------------ // parseDate( date_string [, prefer_euro_format] ) // // This function takes a date string and tries to match it to a // number of possible date formats to get the value. It will try to // match against the following international formats, in this order: // y-M-d MMM d, y MMM d,y y-MMM-d d-MMM-y MMM d // M/d/y M-d-y M.d.y MMM-d M/d M-d // d/M/y d-M-y d.M.y d-MMM d/M d-M // A second argument may be passed to instruct the method to search // for formats like d/M/y (european format) before M/d/y (American). // Returns a Date object or null if no patterns match. // ------------------------------------------------------------------ function parseDate(val) { var preferEuro = arguments.length == 2 ? arguments[1] : false; generalFormats = new Array( "y-M-d", "MMM d, y", "MMM d,y", "y-MMM-d", "d-MMM-y", "MMM d" ); monthFirst = new Array("M/d/y", "M-d-y", "M.d.y", "MMM-d", "M/d", "M-d"); dateFirst = new Array("d/M/y", "d-M-y", "d.M.y", "d-MMM", "d/M", "d-M"); var checkList = new Array( "generalFormats", preferEuro ? "dateFirst" : "monthFirst", preferEuro ? "monthFirst" : "dateFirst" ); var d = null; for (var i = 0; i < checkList.length; i++) { var l = window[checkList[i]]; for (var j = 0; j < l.length; j++) { d = getDateFromFormat(val, l[j]); if (d != 0) { return new Date(d); } } } return null; }
Close