有没有任何方法可以在不使用javascript子字符串函数或regex的情况下生成这个字符串日期表示(带时区)
Is there any way to produce this string date representation (with time-zone) without using javascript substring functions or regex?
从一个新的Date对象开始,是否有任何方法可以仅使用Date对象的内置方法生成以下字符串表示形式——也就是说,不允许正则表达式和/或子字符串操作?"2013-02-01T00:00:00-05:00"
仅使用Date对象的内置方法
没有。JavaScript不允许您输出带有自定义时区值的ISO8601字符串,.toISOSTring
始终使用Z
(UTC)。
您将需要使用各种getter方法并自己构造字符串。基于如何在JavaScript中输出ISO 8601格式的字符串?以及如何用javascript将ISOString转换为本地ISOString?:
function customISOstring(date, offset) {
var date = new Date(date), // copy instance
h = Math.floor(Math.abs(offset)/60),
m = Math.abs(offset) % 60;
date.setMinutes(date.getMinutes() - offset); // apply custom timezone
function pad(n) { return n < 10 ? '0' + n : n }
return date.getUTCFullYear() + '-' // return custom format
+ pad(date.getUTCMonth() + 1) + '-'
+ pad(date.getUTCDate()) + 'T'
+ pad(date.getUTCHours()) + ':'
+ pad(date.getUTCMinutes()) + ':'
+ pad(date.getUTCSeconds())
+ (offset==0 ? "Z" : (offset<0 ? "+" : "-") + pad(h) + ":" + pad(m));
}
它非常简单,尽管您需要一个辅助函数来避免重复:
var pad = function(n) {return n < 10 ? "0"+n : n;};
var output = date.getFullYear()+"-"+pad(date.getMonth()+1)+"-"+pad(date.getDate())
+"T"+pad(date.getHours())+":"+pad(date.getMinutes())+":"+pad(date.getSeconds())
+(date.getTimezoneOffset() > 0 ? "-" : "+")
+pad(Math.floor(date.getTimezoneOffset()/60))
+":"+pad(date.getTimezoneOffset()%60);
相关文章:
- 如何在不创建格式错误的HTML标记的情况下分解字符串
- 如何在不打断标记的情况下突出显示html字符串中的文本
- 在不使用循环的情况下,从一个数据库字符串值向javascript数组添加多个对象
- 如何避免JSON.stringify在特殊情况下返回undefined,从而为JSON.parse创建字符串失败
- 如何通过JS在不干扰其标记的情况下更改HTML文档中字符串的所有实例
- Javascript alert()在没有const字符串的情况下不显示
- 在这种情况下,如何将字符串添加到函数中 php
- 在不更改 HTML 的情况下操作 HTML 字符串的内容
- 限制字符串中显示的字符数,但在没有php的情况下以模态显示同一字符串中的所有字符
- 通过位置栏更改查询字符串,AJAX加载的菜单不会't在没有硬刷新的情况下重新填充
- 在保持字符串同等有效的情况下对其进行视觉加扰
- 如何在没有javascript中的split函数的情况下将字符串拆分为单词
- 在这种情况下,我如何在jquery中将字符串放入php中
- 在不渲染的情况下计算字符串大小
- 在不使用HTML的情况下对字符串中的换行符进行编码
- jQuery:在没有字符串选择器的情况下分离
- 在不使用AJAX的情况下将JSON字符串发送到php文件
- 如何在没有查询字符串和参数的情况下加载jQuery
- 在没有科学记数法的情况下将大数字转换为字符串
- 在 JavaScript 中给定时区字符串的情况下计算 UTC 偏移量