首页 > 其他分享 >时间格式化以及指定时区(time&&timezone)

时间格式化以及指定时区(time&&timezone)

时间:2023-09-20 20:02:34浏览次数:45  
标签:fmt RegExp new Date && time var timezone

工作中经常遇到按照指定格式的时间进行展示。可参考以下脚本逻辑满足需求

Date.prototype.PtTimeByFormat = function (fmt){
    var o = {
    "M+": this.getMonth() + 1, //月份
    "d+": this.getDate(), //日
    "H+": this.getHours(), //小时
    "m+": this.getMinutes(), //分
    "s+": this.getSeconds(), //秒
    "q+": Math.floor((this.getMonth() + 3) / 3), //季度
    "S": this.getMilliseconds() //毫秒
    };
    if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
    for (var k in o)
    if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
    return fmt;
}
//日期格式 "yyyy-MM-dd"|"yyyy-MM-dd HH:mm:ss"
var ptTime = new Date().PtTimeByFormat("yyyy-MM-dd HH:mm:ss");

工作中会遇到指定时区的需求,不管从全球哪个国家的用户访问产品,都以指定时区来展示时间。

var timezone = 9;//定义时区
var offset_GMT = new Date().getTimezoneOffset();
var nowDate = new Date().getTime(); 
var targetDate = new Date(nowDate + offset_GMT * 60 * 1000 + timezone * 60 * 60 * 1000);

标签:fmt,RegExp,new,Date,&&,time,var,timezone
From: https://www.cnblogs.com/yangzhihui/p/time_timezone.html

相关文章

  • 时间格式化以及指定时区(time&&timezone)
    工作中经常遇到按照指定格式的时间进行展示。可参考以下脚本逻辑满足需求Date.prototype.PtTimeByFormat=function(fmt){varo={"M+":this.getMonth()+1,//月份"d+":this.getDate(),//日"H+":this.getHours(),//小时"m+":this.getMi......
  • flowable一直查询定时任务act_ru_timer_job问题
    flowable:#1.false:默认值,Flowable启动时,对比数据库表中保存的版本,如果不匹配。将抛出异常#2.true:启动时会对数据库中所有表进行更新操作,如果表存在,不做处理,反之,自动创建表#3.create_drop:启动时自动创建表,关闭时自动删除表#4.drop_create:启动时,删除旧......
  • GitLab报错502——Whoops, GitLab is taking too much time to respond 502 错误
    一、错误页面错误原因:原来默认配置的8080端口号被其他应用占用冲突了,只需换成其他新的端口号就可以了二、修复步骤1.首先vim /etc/gitlab/gitlab.rb打开配置文件2.修改配置找到如下配置项,原来是用#注释的,把前面的#去掉取消注释,原来的默认端口号应该是8080,改成你自己想要的端口号......
  • QA|Pycharm update时报错ssh: connect to host github.com port 22: Connection timed
    场景:另一台电脑很久没有链接Github了,今天执行update失败,报错如下:2023/9/2015:09UpdatefailedFunny_ScriptsandSpider:Connectionresetby20.205.243.166port22Couldnotreadfromremoterepository.Please......
  • 编译.NET 7.0 Runtime源代码
    1.从github拉取代码,路径: https://github.com/dotnet/runtimehttps://github.com/dotnet/runtime.git 2.切换分支到"release/7.0"release/7.03.编译源代码需要另外安装:python、cmake,按照最新版本安装即可,确保它们都已经添加到系统环境变量中去了。4.安装Visua......
  • PHP、NET语言中的Ticks时间DateTime
    PHP语言:【夏令時間的公式】<?php//date_default_timezone_set("Asia/Taipei");//GMT+8date_default_timezone_set('Europe/London');//GMT+0//LondonAsia$s1=637338818029530000;//GMT+8$s2=621355968000000000;//GMT+0$NowTime=($s1-$s2)/100......
  • WebAssembly实践指南——C++和Rust通过wasmtime实现相互调用实例
    C++和Rust通过wasmtime实现相互调用实例1wasmtime介绍wasmtime是一个可以运行WebAssembly代码的运行时环境。WebAssembly是一种可移植的二进制指令集格式,其本身与平台无关,类似于Java的class文件字节码。WebAssembly本来的设计初衷是想让浏览器可以运行C语言这种编译型语言的......
  • QuickTime是什么?QuickTime怎么用?
    QuickTime是苹果进军PC市场的旗舰媒体播放机,完美支持MAC和PC平台。QuickTimePlayer界面清爽,功能全面,不仅可播放各种格式的视频还支持各种视频解码,是喜爱制作视频的不可缺少的播放器。如果你也感兴趣的话,可在本站下载体验,相信你会喜欢的。QuickTime播放器软件特色是一个多媒体平台,......
  • GO 中的时间操作(time & dateparse)【GO 基础】
    〇、前言日常开发过程中,对于时间的操作可谓是无处不在,但是想实现时间自由还是不简单的,多种时间格式容易混淆,那么本文将进行梳理,一起学习下。官方提供的库是time,功能很全面,本文也会详细介绍。还有另外一个开源库dateparse,使用起来比较方便,本文也会将加入示例测试出结果,以展示......
  • vue3 浏览器“Uncaught runtime errors:” 全屏报错提示关闭
      在项目的vue.config.js中配置module.exports={devServer:{client:{overlay:false//编译错误时,取消全屏覆盖(建议关掉)}}}......