es 6 当前时间代码
时间: 2024-03-17 12:46:36 浏览: 30
以下是获取当前时间的 ES6 代码:
```javascript
const now = new Date();
const year = now.getFullYear();
const month = now.getMonth() + 1;
const day = now.getDate();
const hours = now.getHours();
const minutes = now.getMinutes();
const seconds = now.getSeconds();
console.log(`${year}-${month}-${day} ${hours}:${minutes}:${seconds}`);
```
这段代码会输出当前时间,格式为 `YYYY-MM-DD HH:mm:ss`,例如:`2021-06-17 14:30:00`。
相关问题
es 6 当前时间代码 要求每一秒都在更新时间
可以使用JavaScript的`setInterval()`函数来实现每秒更新时间的效果,同时使用ES6的模板字符串来格式化时间。
以下是示例代码:
```js
setInterval(() => {
const now = new Date();
const hours = now.getHours().toString().padStart(2, '0'); // 时
const minutes = now.getMinutes().toString().padStart(2, '0'); // 分
const seconds = now.getSeconds().toString().padStart(2, '0'); // 秒
const timeStr = `${hours}:${minutes}:${seconds}`; // 格式化时间字符串
console.log(timeStr); // 每秒输出当前时间
}, 1000);
```
这段代码会每秒执行一次函数,获取当前时间并格式化成字符串输出。其中,`padStart()`方法用于保证时间的位数始终为2位,不足则前面补0。
Android Opengl录像时添加时间水印的代码
以下是一个简单的示例代码,用于在Android Opengl录像时添加动态时间水印:
```java
private void initGL() {
// 创建OpenGL ES context
mEGLDisplay = EGL14.eglGetDisplay(EGL14.EGL_DEFAULT_DISPLAY);
int[] version = new int[2];
EGL14.eglInitialize(mEGLDisplay, version, 0, version, 1);
int[] configAttribs = {
EGL14.EGL_SURFACE_TYPE, EGL14.EGL_PBUFFER_BIT,
EGL14.EGL_BLUE_SIZE, 8,
EGL14.EGL_GREEN_SIZE, 8,
EGL14.EGL_RED_SIZE, 8,
EGL14.EGL_RENDERABLE_TYPE, EGL14.EGL_OPENGL_ES2_BIT,
EGL14.EGL_NONE
};
EGLConfig[] configs = new EGLConfig[1];
int[] numConfigs = new int[1];
EGL14.eglChooseConfig(mEGLDisplay, configAttribs, 0, configs, 0, configs.length, numConfigs, 0);
int[] pbufferAttribs = {
EGL14.EGL_WIDTH, 640,
EGL14.EGL_HEIGHT, 480,
EGL14.EGL_NONE,
};
mEGLSurface = EGL14.eglCreatePbufferSurface(mEGLDisplay, configs[0], pbufferAttribs, 0);
int[] contextAttribs = {
EGL14.EGL_CONTEXT_CLIENT_VERSION, 2,
EGL14.EGL_NONE
};
mEGLContext = EGL14.eglCreateContext(mEGLDisplay, configs[0], EGL14.EGL_NO_CONTEXT, contextAttribs, 0);
EGL14.eglMakeCurrent(mEGLDisplay, mEGLSurface, mEGLSurface, mEGLContext, 0);
}
private void drawFrame() {
// 绘制图像到离屏渲染缓冲区
// ...
// 绘制时间水印
GLES20.glClear(GLES20.GL_COLOR_BUFFER_BIT);
GLES20.glUseProgram(mTimeWatermarkProgram);
int timeUniform = GLES20.glGetUniformLocation(mTimeWatermarkProgram, "u_Time");
GLES20.glUniform1f(timeUniform, System.currentTimeMillis() / 1000f);
int fontUniform = GLES20.glGetUniformLocation(mTimeWatermarkProgram, "u_Font");
GLES20.glUniform1i(fontUniform, mFontTextureUnit);
int colorUniform = GLES20.glGetUniformLocation(mTimeWatermarkProgram, "u_Color");
GLES20.glUniform4fv(colorUniform, 1, mColor, 0);
// 绘制文字或者位图
// ...
// 将渲染好的图像数据保存为视频文件
// ...
}
```
这段代码假设已经有了OpenGL ES 2.0的context,以及渲染图像的代码。在`initGL()`方法中创建离屏渲染缓冲区,以及编译、链接时间水印的GLSL程序。在`drawFrame()`方法中,先渲染图像到离屏渲染缓冲区,然后绘制时间水印,最后将渲染好的图像数据保存为视频文件。需要注意的是,在绘制时间水印之前需要调用`glClear()`方法清空当前帧的内容。同时,需要在GLSL程序中添加时间、字体、颜色等uniform变量,并在Java代码中设置相应的值。
具体的实现细节还需要根据实际需求进行调整,例如绘制文字或者位图的具体实现方式,以及保存视频文件的代码实现方式。