js如何获取时间点?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js如何获取时间点?相关的知识,希望对你有一定的参考价值。

比如:想获取5月1日12点整、16点整、24点整该如何获取,拜谢!

参考技术A new Date("2018/4/5 12:00:00")本回答被提问者采纳 参考技术B Js获取当前日期时间及其它操作

var myDate = new Date();
myDate.getYear(); //获取当前年份(2位)
myDate.getFullYear(); //获取完整的年份(4位,1970-????)
myDate.getMonth(); //获取当前月份(0-11,0代表1月)
myDate.getDate(); //获取当前日(1-31)
myDate.getDay(); //获取当前星期X(0-6,0代表星期天)
myDate.getTime(); //获取当前时间(从1970.1.1开始的毫秒数)
myDate.getHours(); //获取当前小时数(0-23)
myDate.getMinutes(); //获取当前分钟数(0-59)
myDate.getSeconds(); //获取当前秒数(0-59)
myDate.getMilliseconds(); //获取当前毫秒数(0-999)
myDate.toLocaleDateString(); //获取当前日期
var mytime=myDate.toLocaleTimeString(); //获取当前时间
myDate.toLocaleString( ); //获取日期与时间

日期时间脚本库方法列表

Date.prototype.isLeapYear 判断闰年
Date.prototype.Format 日期格式化
Date.prototype.DateAdd 日期计算
Date.prototype.DateDiff 比较日期差
Date.prototype.toString 日期转字符串
Date.prototype.toArray 日期分割为数组
Date.prototype.DatePart 取日期的部分信息
Date.prototype.MaxDayOfDate 取日期所在月的最大天数
Date.prototype.WeekNumOfYear 判断日期所在年的第几周
StringToDate 字符串转日期型
IsValidDate 验证日期有效性
CheckDateTime 完整日期时间检查
daysBetween 日期天数差

js代码:

//---------------------------------------------------
// 判断闰年
//---------------------------------------------------
Date.prototype.isLeapYear = function()

return (0==this.getYear()%4&&((this.getYear()%100!=0)||(this.getYear()%400==0)));


//---------------------------------------------------
// 日期格式化
// 格式 YYYY/yyyy/YY/yy 表示年份
// MM/M 月份
// W/w 星期
// dd/DD/d/D 日期
// hh/HH/h/H 时间
// mm/m 分钟
// ss/SS/s/S 秒
//---------------------------------------------------

在three.js中获取鼠标点击点的3D坐标

【中文标题】在three.js中获取鼠标点击点的3D坐标【英文标题】:Get mouse clicked point's 3D coordinate in three.js 【发布时间】:2016-04-14 09:30:12 【问题描述】:

我是 THREE.js 的新手。

我正在尝试通过鼠标单击 Canvas 中的对象(不是简单的对象:Box、Sphere、..)来获取点的 3D 坐标。

详细地说,我正在使用 3D 对象查看器 - 我有相机 (THREE.PerspectiveCamera)、鼠标控件(旋转、缩放、移动)、添加/删除对象(我自己的对象,使用加载器为 THREE.js 加载) 在场景中,.. 我想添加一个函数,它获取 3D 中单击点的 3D 坐标。

确切地说,我想要一条射线终点的坐标 - 从鼠标点击 camera_near_window 开始,到对象的点结束,我点击了..

我尝试了很多方法来做到这一点:

Getting coordinates of point on z=0 plane -- 它工作正常,但它在 z=0 平面上,这不是我需要的,因为我有 OrbitControls..

THREE.js example - clickable objects -- 它使用 CanvasRenderer(不是 WebGLRenderer)并适用于一些对象(但适用于我的项目):当我加载许多对象时浏览器崩溃(CanvasRenderer 需要比 WebGLRenderer 多 5 倍的内存)。

"How to get object in WebGL 3d space from a mouse click coordinate" - 我也试过这个,但raycaster.intersectObjects 什么也没找到,intersects 是一个空数组(也许它只适用于盒子、球体等简单对象)。

谁能给我看一下演示代码,它可以获取 3D 中单击对象的单击点的 3D 点坐标,好吗?

【问题讨论】:

查看this answer了解如何使用Raycaster。在您的情况下,您可能希望将 recursiveFlag 设置为 true:raycaster.intersectObjects( objects, true ); 哦,这就是我要找的。 raycaster.intersectObjects(objects, true) 给我一个数组,第一条记录有一个点参数,我需要它,谢谢.. 使用我链接到的答案中的模式。不要在每次点击时都实例化一个新的光线投射器。 好的。正如你所说,我在相机声明旁边声明了 Raycaster (var rayCaster = new THREE.Raycaster();),然后每次鼠标单击都使用 set (rayCaster.set(camera.position, vector.sub(camera.position).normalize()););对吗? 我建议您按照我链接到的答案中的模式进行操作。你似乎没有这样做。但这取决于你。 【参考方案1】:

所以,由于我认为这个问题对某人有用,我会自己回答(我会写下我的决心):

var renderer, canvas, canvasPosition, camera, scene, rayCaster,  mousePosition;

function init() 
    renderer = new THREE.WebGLRenderer( antialias: false );
    canvas = renderer.domElement;
    canvasPosition = $(canvas).position();
    camera = new THREE.PerspectiveCamera(20, $(canvas).width() / $(canvas).height(), 0.01, 1e10);
    scene = new THREE.Scene();
    rayCaster = new THREE.Raycaster();
    mousePosition = new THREE.Vector2();

    scene.add(camera);

    var myObjects = new THREE.Object3D();
    // myObjects.add( your object );
    // myObjects.add( your object );
    // myObjects.add( your object );
    myObjects.name = 'MyObj_s';
    scene.add(myObjects);
;

function getClicked3DPoint(evt) 
    evt.preventDefault();

    mousePosition.x = ((evt.clientX - canvasPosition.left) / canvas.width) * 2 - 1;
    mousePosition.y = -((evt.clientY - canvasPosition.top) / canvas.height) * 2 + 1;

    rayCaster.setFromCamera(mousePosition, camera);
    var intersects = rayCaster.intersectObjects(scene.getObjectByName('MyObj_s').children, true);

    if (intersects.length > 0)
        return intersects[0].point;
;

【讨论】:

getClicked3DPoint 定义了什么? 这个函数(getClicked3DPoint)作为事件(点击时)添加到画布中,在其中打印模型..

以上是关于js如何获取时间点?的主要内容,如果未能解决你的问题,请参考以下文章

如何用js获取特定时间戳

如何从 html 元素中获取可点击点?

您如何通过 javascript include 获取 Url Referer?

Java如何 根据指定的时间段获取时间段内的所有年、季度、月、周。

JS如何获取两个时间的差,比如03:00:00和17:00:00中间相差几个小时?

新人,求助 three.js 如何获取屏幕凝视点的坐标