是否可以创建一个jQuery函数,以便它获得当前的日期和时间?我一直在寻找文档,但到目前为止还没有找到任何东西......
我用了以下功能,
function datediff()
{
var dat1 = document.getElementById('date1').value;
alert(dat1);//i get 2010-04-01
var dat2 = document.getElementById('date2').value;
alert(dat2);// i get 2010-04-13
var oneDay = 24*60*60*1000; // hours*minutes*seconds*milliseconds
var diffDays = Math.abs((dat1.getTime() - dat2.getTime())/(oneDay));
alert(diffDays);
}
Run Code Online (Sandbox Code Playgroud)
我得到错误dat1.getTime()不是一个功能....
我需要对1 us水平进行精确定时,以计算pwm波的占空比变化.
背景
我正在使用Gumstix Over Water COM(https://www.gumstix.com/store/app.php/products/265/),它有一个运行在499.92 BogoMIPS的单核ARM Cortex-A8处理器(Gumstix页面声称根据/ proc/cpuinfo,推荐使用800Mhz的1Ghz.操作系统是基于内核版本2.6.34的Linux的Angstrom Image版本,它在Gumstix Water COM上有库存.
问题
我已经对Linux中的精确计时做了相当多的阅读(并且已经尝试了大部分计划)并且共识似乎是使用clock_gettime()并引用CLOCK_MONOTONIC是最好的方法.(我本来希望使用RDTSC寄存器进行定时,因为我有一个具有最小省电能力的内核,但这不是Intel处理器.)所以这里是奇数部分,而clock_getres()返回1,表明分辨率为1 ns实际的时序测试表明,最小分辨率为30517ns或(它不能重合)恰好是32.768KHz时钟周期之间的时间.这就是我的意思:
// Stackoverflow example
#include <stdio.h>
#include <time.h>
#define SEC2NANOSEC 1000000000
int main( int argc, const char* argv[] )
{
// //////////////// Min resolution test //////////////////////
struct timespec resStart, resEnd, ts;
ts.tv_sec = 0; // s
ts.tv_nsec = 1; // ns
int iters = 100;
double resTime,sum = 0;
int i;
for (i = 0; i<iters; i++)
{
clock_gettime(CLOCK_MONOTONIC, &resStart); // start timer …Run Code Online (Sandbox Code Playgroud) 我有一个类,它使用java.util.Date类来创建日期对象并使用getTime()获取当前毫秒.
我在Java文档中看到了getTime()返回毫秒,同样的情况在我的机器上.
我有另外一台服务器,当我在服务器上部署我的应用程序时,同样getTime()以秒为单位返回时间戳.
例如
我想知道这是怎么可能的,我在本地尝试了相同的代码,我再次得到时间戳,以毫秒为单位.
以下是代码的一部分......
String longTime = new Long((new Date().getTime())).toString();
if(log.isDebugEnabled())log.debug("LAST_FEED_TIME will be " + longTime + " stored.");
Run Code Online (Sandbox Code Playgroud) 我正在四处寻找如何做到这一点,我发现很多代码复杂的例子.我用这个:
var time1 = new Date();
var time1ms= time1.getTime(time1); //i get the time in ms
Run Code Online (Sandbox Code Playgroud)
然后我在代码的其他部分执行此操作
var time2 = new Date();
var time2ms= time2.getTime(time2);
Run Code Online (Sandbox Code Playgroud)
并且最终:
var difference= time2ms-time1ms;
var lapse=new Date(difference);
label.text(lapse.getHours()+':'+lapse.getMinutes()+':'+lapse.getSeconds());
Run Code Online (Sandbox Code Playgroud)
这很好用,除了一个问题,它给我的小时总是+1,所以我必须添加到代码 (time.getHours() - 1)否则它给我一个多小时....
我认为这是比其他所有示例更简单的方法...但我仍然不明白为什么我需要添加'-1'才能有正确的失效.
谢谢!!!
无法理解为什么会发生以下情况:
String date = "06-04-2007 07:05";
SimpleDateFormat fmt = new SimpleDateFormat("MM-dd-yyyy HH:mm");
Date myDate = fmt.parse(date);
System.out.println(myDate); //Mon Jun 04 07:05:00 EDT 2007
long timestamp = myDate.getTime();
System.out.println(timestamp); //1180955100000 -- where are the milliseconds?
// on the other hand...
myDate = new Date();
System.out.println(myDate); //Tue Sep 16 13:02:44 EDT 2008
timestamp = myDate.getTime();
System.out.println(timestamp); //1221584564703 -- why, oh, why?
Run Code Online (Sandbox Code Playgroud) 我试图获取LocaleDateString和LocaleTimeString,它将是toLocaleString()但LocaleString给你GMT + 0100(GMT日光时间)我不会显示它.
我可以使用类似的东西:
timestamp = (new Date()).toLocaleDateString()+toLocaleTimeString();
Run Code Online (Sandbox Code Playgroud)
非常感谢
参考上面的链接,我认为Calendar类的getTimeInMillis()返回独立于时区的毫秒数.
但是使用以下代码:
Calendar cal = Calendar.getInstance();
int dateInSeconds = (int)(cal.getTimeInMillis()/1000);
Log.i("TIME IN SECONDS: ",""+dateInSeconds);
Run Code Online (Sandbox Code Playgroud)
首先尝试将我的系统时钟设置为10:00和GMT + 02:00
产生一定的输出数量.但是将系统时钟设置为10:00和GMT + 00:00
输出数量比先前的情况大约7200,相当于约2小时.
为什么?
我想把日期作为一年,一个月,一天没有时间或分钟或其他任何事情,我不想让一年,一个月和一天由它自己.因为作为一个完整的日期,我需要它与另一个日期进行比较
比如今天28.11.2012,比较它,11.12.2011
好像今天减去11.12.2011超过280天,我想执行一些代码
我正在阅读CLOCK_REALTIME和之间的区别CLOCK_MONOTONIC
CLOCK_REALTIME和CLOCK_MONOTONIC之间的区别?
该CLOCK_REALTIME在时间的不连续性,可以跳向前和向后:是,在这个时钟的错误?如何使时间不一致的时钟可靠?