将“2009-05-02 00:00:00”等时间改为“2009-05-02”。
我知道我可以通过正则表达式实现这一点,但是有内置函数可以做到这一点吗?
答案 0 :(得分:3)
没有内置的日期功能可以做到这一点。事实上,如果您使用该日期格式在JavaScript中创建新的Date对象,则会出现无效日期错误。
在这种情况下,使用正则表达式或字符串操作是正确的。
以下是所有JavaScript Date Functions的列表。
简单地获取字符串的日期部分并显示它而不转换为日期对象。你可以这样做:
var dateString = "2009-05-02 00:00:00"
alert(dateString.substring(0,10)); // Will show "2009-05-02"
要将此字符串转换为正确的JavaScript日期对象,您可以使用this snippet:
function sqlTimeStampToDate(timestamp) {
// This function parses SQL datetime string and returns a JavaScript Date object
// The input has to be in this format: 2007-06-05 15:26:02
var regex=/^([0-9]{2,4})-([0-1][0-9])-([0-3][0-9]) (?:([0-2][0-9]):([0-5][0-9]):([0-5][0-9]))?$/;
var parts=timestamp.replace(regex,"$1 $2 $3 $4 $5 $6").split(' ');
return new Date(parts[0],parts[1]-1,parts[2],parts[3],parts[4],parts[5]);
}
格式为“ddd MMM dd YYYY hh:mm:ss”+ TimeOffSet,但您可以使用任何标准JavaScript日期函数。
答案 1 :(得分:0)
您可能会觉得这很有用:
返回今天的日期和时间
如何使用Date()方法获取今天的日期。getTime()
使用getTime()计算自1970年以来的年份。setFullYear()
如何使用setFullYear()设置特定日期。toUTCString()
如何使用toUTCString()将今天的日期(根据UTC)转换为字符串。getDay()
使用getDay()和数组来编写工作日,而不仅仅是数字。
这是www.w3schools.com的复制粘贴,因为我无法发布链接...
或者只是在Google上搜索“JavaScript日期函数”或相关内容。正则表达式用于匹配字符串的特定部分,这在搜索,提取和替换时非常有用,而不是任何可以帮助您格式化日期的内容。
答案 2 :(得分:0)
从初始格式“ 2009-05-02 00:00:”获取日期格式“ 2009-05-02 ”的两种简单方法见下文00 ”。
<script type="text/javascript">
var mydate, newdate1, newdate2;
mydate = "2009-05-02 00:00:00";
newdate1 = (mydate.split(/ /))[0];
alert('newdate 1: ' + newdate1);
newdate2 = mydate.substr(0,10);
alert('newdate 2: ' + newdate2);
</script>