我很好奇是否有人有任何好的解决方案来准确地建立公元1000年之前的日期-特别是公元1-100年。
例如,如果我想为第一个千禧年的开始建立一个日期,我不能只做...
new Date(Date.UTC(1,0,1,0,0,0,0));
因为它试图变得“聪明”,并假设1是1901,这给了我...
Sun Dec 31 1900 18:00:00 GMT-0600 (CST)
同样的事情也适用于99年...
new Date(Date.UTC(99,0,1,0,0,0,0));
它变成了
Thu Dec 31 1998 18:00:00 GMT-0600 (CST)
有什么想法?
假设我为圣诞节创建了一个全天活动。我希望这个事件是12月25日,不管你在哪个时区。我将事件日期存储为"2023-12-25“在服务器上。
当我在浏览器中做new Date("2023-12-25")时,它被解释为一个UTC日期,这不是我想要的,例如,如果我在纽约,而我在纽约
new Date("2023-12-25") // Sun Dec 24 2023 19:00:00 GMT-0500 (Eastern Standard Time)
这意味着,当我去格式化全天活动,它将格式化为12月24日,这不是我想要的。
期望的行为:
// If in New
伊朗-德黑兰是+3:30,但为什么这个网站:为伊朗提供GMT -德黑兰+4:30.
如何设置自己的时钟(在我的代码)与改变GMT在伊朗?
我的代码:
var int=self.setInterval("clock()",1000);
function clock()
{
var d=calcTime('+3')
var t=d.toLocaleTimeString();
document.getElementById("clock
对于Javascript日期对象,我得到了一些非常奇怪的行为。
var t = new Date();
t.setUTCFullYear(2014);
t.setUTCMonth(10);
t.setUTCDate(20);
console.log(t);
返回日期:{2014年12月20日星期六10:26:23 GMT-0800 (PST)}
然而,如果您使用t.setMonth(10),您将正确地获得11月。我做错了什么吗?
Javascript日期适用于时区。如果我创建一个日期,它会设置时区。当我更新该日期的年份时,我不希望时区发生变化。不过,确实如此。最糟糕的是,它改变了时区,但没有改变时间,导致实际时间移动一个小时!
这导致了这样的问题:如果我有这个人的生日,并且想知道他今年的生日,我不能简单地使用birthdate.setFullYear(2018)将这个年份设置为当前年份,因为它将返回生日减去一个小时。这意味着它发生在实际生日的前一天,十一点。
let test = new Date('1990-10-20');
console.log(test);
console.log(test.
我试图做一个基本的日期计算,如下所示。考虑到下面的论点,我想找出这个月剩下的日子。
我以为我确定了一个解决方案,但答案中似乎多出了1/4。
// returns last day of month
function lastDayOfMonth(date) {
return new Date(date.getFullYear(), date.getMonth() + 1, 0)
}
let day_start = new Date('2018-11-04');
let day_end = new Date('2019-01-10');
let day_
我有一个应用程序,它将shift、start和finish时间显示为javascript日期,其中日期设置为Sat Dec 30 1899,并具有适当的开始/完成时间:
const start = new Date(-2209139100000); // Sat Dec 30 1899 06:15:00 GMT+0000 (Greenwich Mean Time)
const finish = new Date(-2209095900000); // Sat Dec 30 1899 18:15:00 GMT+0000 (Greenwich Mean Time)
这些时候,我的应用程序是作为js
(编辑:我对下面的代码使用了chrome控制台)
我知道javascript Date()被弃用了,但它对我目前正在做的事情很有用;但是有一个奇怪的问题:
var x = new Date('999').getFullYear()
返回999
而
var x = new Date('1000').getFullYear()
也返回999,但是
var x = new Date('10000').getFullYear()
返回10000...
有人知道为什么4位数字会给出错误的.getFullYear()吗?
我正在尝试解析像这个2012-12-07T16:18:15+05:30这样的日期,这是我从数据库接收到的字符串格式。我使用的解析函数是:
var jstime = new Date("2012-12-07T16:18:15+05:30");
var h = jstime.getHours();
var m = jstime.getMinutes();
var s = jstime.getSeconds();
var f = "am"
if(h >= 12)
{
f = "pm";
h = h - 12;
}
if(h =
你好,我有这个函数,例如:
var dt = new Date();
var now = dt.valueOf();
function date1() {
var d1 = Math.ceil(
(Math.abs(now - dt.setUTCFullYear(2005))) / (1000*3600*24*365)
);
}
我希望从d1 var获取值到另一个函数,例如:
function res() {
document.write(d1).value;
}
我有一个简单的倒计时脚本。代码可以在chrome中运行,但不能在firefox中运行。在火狐中,它显示的是NaN,但chrome显示的是倒计时,你知道为什么会发生这种情况吗?
function CountDownTimer(time, name) {
var counter = setInterval(function(){
var today = new Date();
var expire = new Date(time);
var timeRemains = expire - today;
var days = Math.floor(timeRem
我必须处理Javascript中反复出现的日期。例如,给定一个表示11月24日(--11-24)的字符串,我希望从指定的时间点得到这个重复日期的下一个出现日期。
referencePoint = someLibraryForRecurringDates.referencePoint("1985-01-02");
nextOccurence = referencePoint.getNextOccurenceOf("--11-24");
// nextOccurence is a Date representing "1985-11-24"
是否有一
在此示例代码中,将字符串转换为日期:
function stringToDate(){
var edate = "2015-06-01";
Logger.log(edate);
var input = edate.split('-');
var date = new Date();
date.setUTCFullYear(input[0],input[1] - 1,input[2]);
Logger.log(date);
}
记录日期返回"Mon Jun01 20:07:45 GMT+01:00 2015",这是正确的,
我正在尝试从一个字符串创建一个date对象。我得到ISO格式的日期,除了像"2012-01-30T16:23:12“这样的毫秒部分
当我在IE,Chrome和火狐()中运行以下代码时,结果不同
currentDate = "2012-01-30T16:23:12";
var date = new Date(currentDate);
alert(date);
IE和Chrome将该字符串视为UTC,但firefox将其视为本地时区。
除了检查所有地方的用户代理之外,有没有什么通用的方法可以绕过它?
我有一些javascript,它解析了一个ISO-8601日期。由于某种原因,它在6月份的日子里失败了。但是七月和五月的日期很好,这对我来说是没有意义的。我希望一双新的眼睛能帮上忙,因为我看不出我在这里做错了什么。
函数定义(带有bug)
function parseISO8601(timestamp)
{
var regex = new RegExp("^([\\d]{4})-([\\d]{2})-([\\d]{2})T([\\d]{2}):([\\d]{2}):([\\d]{2})([\\+\\-])([\\d]{2}):([\\d]{2})$");
var mat
每当$visa_expired与今天的日期相同时,我都会尝试更改input text的颜色。但是现在,我收到一个错误,说是Invalid Date
下面是我的代码:
<script type="text/javascript">
function checkFilled() {
var today = new Date();
var expired = new Date("<?php echo $visa_expiry; ?> ");
var inputVal = document.getElementById(
.Net WebAPI在序列化DateTime时默认使用ISO DateTime格式。当IE8试图在新的DateTime ()构造函数中使用这种ISO格式时,它会中断返回NaN。3.
var d = new Date('2012-09-06T15:28:56.215Z');
alert(d);
火狐处理的很好。我还没有尝试过Chrome。IE8中断了,返回了NaN。3.
我假设在我的WebAPI中使用ISO日期是一种很好的格式。我还希望我的Javascript客户机能够处理转换为本地时间和重新格式化DateTime,使其易于阅读--这就是为什么我使用Date类型,而不仅仅是将I
这是一个代码,可以得到两次之间的差值。 // input your custom Date below
var date = new Date('2020-06-12 22:00:00');
var dif = (date.getTime() / 1000) - ((new Date().getTime())/1000);
var end = Math.max(0, dif);
console.log(end); 我希望能够将公历日期改为波斯(Solar Hijri),如下所示: var date = new Date('1399-03-23 22:00:00
我正试图在我的网页上制作一个更新的JavaScript时钟。我遇到的问题是,当值本身更新时(我使用alert(timeNow)来显示值并确保它正在更新),网站上的时钟却没有更新。我只是想知道我是不是遗漏了什么东西,或者只是碰巧遇到了一些我做不到的事情。我更希望有一种使用jQuery的方法,因为我理解这一点比普通的JavaScript要好一些。
Javascript:
function updateClock() {
var thisDate = new Date();
if (thisDate.getHours() > 11 && thisDate.getHo