Javascript Google将API日期转换为HTML5日期时间

Javascript Google将API日期转换为HTML5日期时间,javascript,jquery,html,datetime,google-feed-api,Javascript,Jquery,Html,Datetime,Google Feed Api,以“2007年4月13日12:40:07-0700”格式输出发布日期 我希望使用JS/jQuery将其更改为有效的HTML5 有简单的方法吗?还是一个库?我通过扩展Date对象,用纯javascript为您启动了一个解决方案。不过,我现在得跑了 也许你能完成它(或者我今天某个时候会完成) 希望对…有帮助。最后我用了。较新的JS工具箱似乎没有保留这个函数(或者至少没有让它变得明显) 切片是为了获取时区,formatDate似乎不支持该时区 以下是用于保存的缩小功能: /* * Author:

以“2007年4月13日12:40:07-0700”格式输出发布日期

我希望使用JS/jQuery将其更改为有效的HTML5


有简单的方法吗?还是一个库?

我通过扩展Date对象,用纯javascript为您启动了一个解决方案。不过,我现在得跑了

也许你能完成它(或者我今天某个时候会完成)

希望对…有帮助。

最后我用了。较新的JS工具箱似乎没有保留这个函数(或者至少没有让它变得明显)

切片是为了获取时区,formatDate似乎不支持该时区

以下是用于保存的缩小功能:

/*
 * Author: Matt Kruse <matt@mattkruse.com>
 * http://www.mattkruse.com/
 * formatDate (date_object, format)
 * Returns a date in the output format specified.
 * The format string uses the same abbreviations as in getDateFromFormat()
 */
var MONTH_NAMES="January,February,March,April,May,June,July,August,September,October,November,December,Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec".split(","),DAY_NAMES="Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sun,Mon,Tue,Wed,Thu,Fri,Sat".split(",");function LZ(b){return(0>b||9<b?"":"0")+b} function formatDate(b,f){var f=f+"",h="",g=0,e="",c="",e=b.getYear()+"",c=b.getMonth()+1,i=b.getDate(),j=b.getDay(),d=b.getHours(),k=b.getMinutes(),l=b.getSeconds(),a={};4>e.length&&(e=""+(e-0+1900));a.y=""+e;a.yyyy=e;a.yy=e.substring(2,4);a.M=c;a.MM=LZ(c);a.MMM=MONTH_NAMES[c-1];a.NNN=MONTH_NAMES[c+11];a.d=i;a.dd=LZ(i);a.E=DAY_NAMES[j+7];a.EE=DAY_NAMES[j];a.H=d;a.HH=LZ(d);a.h=0==d?12:12<d?d-12:d;a.hh=LZ(a.h);a.K=11<d?d-12:d;a.k=d+1;a.KK=LZ(a.K);a.kk=LZ(a.k);a.a=11<d?"PM":"AM";a.m=k;a.mm=LZ(k);a.s= l;for(a.ss=LZ(l);g<f.length;){e=f.charAt(g);for(c="";f.charAt(g)==e&&g<f.length;)c+=f.charAt(g++);h=null!=a[c]?h+a[c]:h+c}return h};
/*
*作者:马特·克鲁斯
* http://www.mattkruse.com/
*formatDate(日期\对象,格式)
*以指定的输出格式返回日期。
*格式字符串使用与getDateFromFormat()中相同的缩写
*/
var MONTH_NAMES=“一月、二月、三月、四月、五月、六月、七月、八月、九月、十月、十一月、十二月、一月、二月、三月、四月、五月、六月、七月、八月、九月、十月、十一月、十二月”。拆分(“,”),DAY_NAMES=“周日、周一、周二、周三、周四、周五、周六、周日、周一、周二、周三、周三、周四、周五、周五、周五、周六”。拆分(“,”;(e-0+1900)a.y=”“+e;a.y=e;a.d=i;a.d=i;a.d=i;a.d=i;a.d=d=LZ=e;a.yyy=e.yy=e.substring(2,4;2.4);a.M=c;a.M=c;a.M=c;a.M=c;a.M=c;a.M=c;a.M=c;a.M=c;a.M=c;a.M=c;a.M=c;a.M=c(c;a.M=c(c(c;a.M=c(c(c(c)c(c(c)c(c(c)c(c(c)c(c(c)c(c)c(c(c)c(c)c(c(c)c(c(c(c)c)c(c(c)c(c)c)这很容易:

var input = "13 Apr 2007 12:40:07 -0700";
var date = Date.parse(input);
var output = dateFormat(date, 'yyyy-mm-dd"T"hh:MM:ssoD');
// output == 2007-04-13T12:40:07-0700D

此处演示:

虽然Homer6的小提琴很有用,但并不十分有用。一些.getXXX函数的行为很奇怪,可能是因为日期对象的顺序不正确。我意识到我应该使用datejs.com。哦。
/*
 * Author: Matt Kruse <matt@mattkruse.com>
 * http://www.mattkruse.com/
 * formatDate (date_object, format)
 * Returns a date in the output format specified.
 * The format string uses the same abbreviations as in getDateFromFormat()
 */
var MONTH_NAMES="January,February,March,April,May,June,July,August,September,October,November,December,Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec".split(","),DAY_NAMES="Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sun,Mon,Tue,Wed,Thu,Fri,Sat".split(",");function LZ(b){return(0>b||9<b?"":"0")+b} function formatDate(b,f){var f=f+"",h="",g=0,e="",c="",e=b.getYear()+"",c=b.getMonth()+1,i=b.getDate(),j=b.getDay(),d=b.getHours(),k=b.getMinutes(),l=b.getSeconds(),a={};4>e.length&&(e=""+(e-0+1900));a.y=""+e;a.yyyy=e;a.yy=e.substring(2,4);a.M=c;a.MM=LZ(c);a.MMM=MONTH_NAMES[c-1];a.NNN=MONTH_NAMES[c+11];a.d=i;a.dd=LZ(i);a.E=DAY_NAMES[j+7];a.EE=DAY_NAMES[j];a.H=d;a.HH=LZ(d);a.h=0==d?12:12<d?d-12:d;a.hh=LZ(a.h);a.K=11<d?d-12:d;a.k=d+1;a.KK=LZ(a.K);a.kk=LZ(a.k);a.a=11<d?"PM":"AM";a.m=k;a.mm=LZ(k);a.s= l;for(a.ss=LZ(l);g<f.length;){e=f.charAt(g);for(c="";f.charAt(g)==e&&g<f.length;)c+=f.charAt(g++);h=null!=a[c]?h+a[c]:h+c}return h};
var input = "13 Apr 2007 12:40:07 -0700";
var date = Date.parse(input);
var output = dateFormat(date, 'yyyy-mm-dd"T"hh:MM:ssoD');
// output == 2007-04-13T12:40:07-0700D