转换日期日(2011年12月5日至12日)

Joh*_*Boy 6 javascript date

我试图将日期转换为日期数字,然后是"st","nd","rd"或"th取决于当天.我是javascript的新手,所以不知道从哪里开始.

例如

05/01/2011 = 1st
05/02/2011 = 2nd
05/03/2011 = 3rd
05/12/2011 = 12th
05/22/2011 = 22nd

谢谢

Aln*_*tak 10

首先,得到日期:

 var date = myval.getDate();
Run Code Online (Sandbox Code Playgroud)

然后找到后缀:

 function get_nth_suffix(date) {
   switch (date) {
     case 1:
     case 21:
     case 31:
        return 'st';
     case 2:
     case 22:
        return 'nd';
     case 3:
     case 23:
        return 'rd';
     default:
        return 'th';
   }
 }
Run Code Online (Sandbox Code Playgroud)

演示http://jsfiddle.net/DZPSw/


Mar*_*ahn 9

var date = new Date('05/12/2011').getDate(),
 ordinal = date + (date>10 && date<20 ? 'th' : {1:'st', 2:'nd', 3:'rd'}[date % 10] || 'th');
Run Code Online (Sandbox Code Playgroud)

要么

ordinal = date + ( [,'st','nd','rd'][/1?.$/.exec(date)] || 'th' );
Run Code Online (Sandbox Code Playgroud)

  • 正则表达式:`[,'st','nd','rd'] [/ 1?.$ /.exec(n)] ||'th' (2认同)