创建一个等于yyyy-mm-dd 00:00:00或23:59:59的时间戳
Create a timestamp that would be equal to yyyy-mm-dd 00:00:00 or 23:59:59
我有一个用户选择/提供的日期字符串yyyy-mm-dd
。基于用户使用的输入。我想创建一个时间戳,该时间戳等于一天的开始午夜00:00:00
或一天的结束午夜23:59:59
我想用纯javascript来做这件事。但UTC/GMT自动抵消的情况使它陷入了一个循环。客户端我看到午夜,服务器端我看到午夜+偏移,例如来自加利福尼亚州。时间戳等于yyyy-mm-dd 08:00:00
有没有办法总是选择00:00:00或23:59:59?
我目前的尝试是
function yyyy_mm_ddToTS(str, beforeMidnight)
{
//if beforeMidnight == true, 23:59:59 is appended to the yyyy-mm-dd string
if(typeof str !== 'undefined')
{
//validate str format = yyyy-mm-dd
var re = /^'d{4}-'d{1,2}-'d{1,2}$/;
if(re.test(str) == false){msgDisplayBox(null, 'Invalid date string use: yyyy-mm-dd', null);return false;}
}
append_hh_mm_ss = ' 00:00:00';
if(typeof beforeMidnight !== 'undefined')
{
if(whatDataType(beforeMidnight) == "boolean")
{
if(beforeMidnight == true)
{
append_hh_mm_ss = ' 23:59:59';
}
}
}
var newStr = str+append_hh_mm_ss;
var d = newStr.match(/'d+/g);
//d = d.join(',');
console.log(d[0], d[1] - 1, d[2], d[3], d[4], d[5]);
var dateString = new Date(d[0], d[1] - 1, d[2], d[3], d[4], d[5]);
dateString.setHours(0,0,0,0);
return dateString.getTime();
}
当稍后转换服务器端时,返回yyyy-mm-dd 08:00:00
而不是yyyy-mm-dd 00:00:00
尝试使用UTC日期时间戳而不是Date.getTime()
var cDate = new Date();
var UTCDateMorning = Date.UTC(cDate.getFullYear(),cDate.getMonth(),cDate.getDate(),0,0,0);
var UTCDateMidnight = Date.UTC(cDate.getFullYear(),cDate.getMonth(),cDate.getDate(),23,59,59);
相关文章:
- 用javascript将日期格式从d/m/yyyy转换为yyyy-mm-dd
- 在Datepicker中将日期格式更改为yyyy-mm-dd
- 如何使用moment.js将秒转换为时间格式(YYYY:MM:DD HH:MM:ss)
- Javascript Date 对象因格式而异:yyyy-mm-dd vs mm-dd-yyyy
- 使用 YYYY-MM-DD 值的比较构建 D3 时间线
- 在Javascript中用YYYY-mm-dd格式计算年龄
- 在 Angular 中将日期格式从 yyyy/MM/dd 更改为 MM/dd/yyyy
- 创建一个等于yyyy-mm-dd 00:00:00或23:59:59的时间戳
- 如何将此日期“太平洋标准时间 2016 年 3 月 9 日星期三 09:48:09”转换为“YYYY-MM-DD HH:
- 如何将Javascript日期转换为sql日期时间,格式如下yyyy-mm-dd-hh-miss
- Javascript日期时间验证- yyyy-mm-dd hh:mm
- 如何使用javaScript将UTC日期时间转换为yyyy-mm-dd hh:mm:ss日期时间格式
- Javascript:以YYYY/mm/dd hh:m:sec格式输出当前日期时间
- 比较格式为YYYY-MM-DD HH:MM:SS的javascript中的日期时间
- 将yyyy-mm-dd转换为JS时间戳
- 如何将日期转换为“YYYY-MM-DD hh:mm:ss"”格式到UNIX时间戳
- 如何将日期时间转换为mm/dd/yyyy格式
- Ext.js-将时间戳格式化为yyyy-mm-dd hh:mm:ss[.ffffffff]
- 用Javascript将YYYY-MM-DD转换为unix时间戳
- Javascript -比较日期/时间现在与yyyy/mm/dd hh:mm:ss