每一个小技巧都可能意味着更快的开发时间和更干净的代码。 下面是 30 行代码小魔术 JavaScript 代码,它们将使你的编程工作更轻松。 1....获取时区 Intl.DateTimeFormat().resolvedOptions().timeZone; 12....打印 JSON 对象为美观的字符串 JSON.stringify(obj, null, 2); 14....获取所有的唯一值 const uniqueValues = arr => [...new Set(arr)]; 17....简短的条件语句运行 let x = 20, y = 30; x > y && console.log('x is greater than y'); 这些一行代码示例能够让你的开发更加高效,有些甚至能让你在编写代码时获得一些乐趣
api获取时区 Intl.DateTimeFormat().resolvedOptions().timeZone 在控制台执行一下,可以看到输出 Asia/Shanghai 咦,为什么是上海,不应该是北京吗...如果是你什么都不传,默认就是你所在的时区 如果你是我大中国时间,想看看对应的美国时间是多少,可以这么设置 timeZone new Date().toLocaleString("chinese",{...hour12:false, timeZone:"America/New_York" }) 如下图,可以看到差了12 个小时 ?...,如下 const dayjs = require('dayjs'); const utc = require('dayjs/plugin/utc'); const timezone = require...('dayjs/plugin/timezone'); dayjs.extend(utc); dayjs.extend(timezone); function getSvrTimestampTZ(datestring
由此可以知道当前文档 (即为页面) 是在背后,或是不可见的隐藏的标签页,或者 (正在) 预渲染。可用的值如下: 'visible' : 此时页面内容至少是部分可见。...文档只能从此状态开始,永远不能从其他值变为此状态。 visibilitychange 当其选项卡的内容变得可见或被隐藏时,会在文档上触发 visibilitychange (能见度更改) 事件。...在我们的例子中,我们重点关注 Intl.DateTimeFormat() 构造函数,以根据用户的区域设置来格式化报价的 dateAdded 属性。...Intl.DateTimeFormat() 构造函数需要两个参数:定义日期格式化惯例的 locale 字符串和用于自定义日期格式的 options 对象。...(locale, {timeZone: "UTC"}); return dateTimeFormat.format(date); }; 代码部署后可能存在的BUG没法实时知道,事后为了解决这些
在本文中,我将讨论已经进入第四阶段且已添加到谷歌 Chrome V8 引擎中的新特性。...Promise,就会短路并返回一个值(如示例 1a 中所述)。...运算符的一些示例: 带有 && 运算符的逻辑赋值运算符 仅当 LHS 值为真时,才将 RHS 变量值赋给 LHS 变量。...仅当 LHS 值为假时,才将 RHS 变量值赋给 LHS 变量。...运算符的逻辑赋值运算符 ES2020 引入了空值合并运算符,其也可以与赋值运算符结合使用。仅当 LHS 为 undefined 或仅为 null 时,才将 RHS 变量值赋给 LHS 变量。
第一个想到的应该就是new Date传入UTC字符串的坑了: new Date('2019-12-25T08:00') // pc chrome: Wed Dec 25 2019 08:00:00 GMT...,有什么key以及对应的值,就以什么状态展示在最终返回的日期字符串中。...如果使用的时候,key的值并不是规定的那些,那么js将会报错 // ?...——timeZone,它确定了时区。...它的值必须是timeZone数据库里面的,timeZone数据库可以点击这里下载。 下载了时区数据文件,看见一个叫asia的文件,果断打开,然后找到了中国相关的时区: ?
就在 Chrome Devtools 的 Rendering 选项中,勾选开启即可 ---- 当我使用工具进行 fps 的观察,同时视图区域进行稳定匀速的滑动时,能够感受到明显的卡顿和拖影。...但是根据分析情况来看,上图滚动时产生的任务绝大多数都大于40ms,甚至还会产生longtask(Chrome官方对longtask的定义是大于50ms,即20fps)。...但,我们还要继续解决 toLocaleDateString 的兄弟api:Intl.DateTimeFormat。 ...关于 Intl.DateTimeFormat Intl.DateTimeFormat 是一个比较新的时间格式化api。...最终优化结果 按照对 toLocaleDateString 的优化思路,我们只需要对 Intl.DateTimeFormat 实例进行优化即可。
第一个想到的应该就是new Date传入UTC字符串的坑了: new Date('2019-12-25T08:00') // pc chrome: Wed Dec 25 2019 08:00:00 GMT...,有什么key以及对应的值,就以什么状态展示在最终返回的日期字符串中。...如果使用的时候,key的值并不是规定的那些,那么js将会报错 // const date = new Date('2019-12-11T11:11:11Z') date.toLocaleString(...——timeZone,它确定了时区。...它的值必须是timeZone数据库里面的,timeZone数据库可以点击这里下载。
然后当页面显示或隐藏时,我们可以访问document.visibilityState属性的值。...shareData.text的值会是quote.textContent属性,shareData.url的值会是页面的URL,也就是location.href属性。...构造函数的options参数中,我们将timeZone属性设置为"UTC",这样日期就不会被格式化为用户的当地时间。...在我的例子中,没有timeZone的选项,日期被解析为 "10/23/2022"。 正如你所看到的,dateTime.format()根据locale的日期格式约定改变日期。...在我的例子中,我的navigator.language值是"en",所以我的日期被格式化为MM/DD/YY。
这意味着,两台不同的电脑会根据同一个Date对象输出不同的值。 JavaScript在没有任何关于时区的信息时,会将日期当做UTC,并且会自动的将时间转换为电脑当前所在的时区。...Returns the timezone difference expressed in minutes 这些方法都有对应的UTC等价版本,这些UTC方法返回的是UTC格式的值,而不是基于当前时区的。...0, 例如三月对应的月份值是2。...一个有趣的事实是,这些值是可以“进位(overlap)”的。举个例子,如果你使用date.setHours(48),它将直接增加对应的天数。...我们需要关注的是Intl.DateTimeFormat()这个接口。 现在来看看怎么使用它。
它们分别是处理排序的Intl.Collator,处理日期格式化的Intl.DateTimeFormat和处理数字/货币等格式化的Intl.NumberFormat。...(如无特别说明则values第一个值为默认值) @prop String localeMatcher @desc 指定用于locale匹配的算法 @values 'best fit' | 'lookup...字符串或数组 @param Array [options] - 配置项 options的属性及属性值(如无特别说明则values第一个值为默认值) @prop String localeMatcher...@desc 指定用于locale匹配的算法 @values 'best fit' | 'lookup' @prop String timeZone @desc 指定被格式化的时间所在的时区...(如无特别说明则values第一个值为默认值) @prop String localeMatcher @desc 指定用于locale匹配的算法 @values 'best fit' | 'lookup
这意味着两台不同的计算机可能会为同一日期对象输出不同的值。 JavaScript没有任何关于时区的信息,会将日期视为UTC,并自动执行到当前计算机时区的转换。...方法 Date对象提供了几种检查其值的方法。...Returns the timezone difference expressed in minutes 这些方法有等效的UTC版本,它们返回UTC值而不是适合您当前时区的值: date.getUTCDate...我来看看Intl.DateTimeFormat()。 以下是如何使用它。...().format(date) //"22/07/2018" in my locale 根据不同的区域设置格式化日期: new Intl.DateTimeFormat('en-US').format(date
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时。...目录 Optional Chaining(可选链) Nullish Coalescing(空值合并) Intl.DisplayNames(国际化显示名称) Intl.DateTimeFormat(国际化处理日期时间格式...enabled:0 我们期望输出左侧的值,则是不行的。...**来实现,仅当左侧为 undefined 或 null 时才返回右侧的值。...Intl.DateTimeFormat Intl.DateTimeFormat API 用来处理特定语言环境的日期格式。
API 在 v8 9.5 版本中为 timeZoneName 选项新增加了四个值:shortGeneric、longGeneric、shortOffset、longOffset。...console.log(new Intl.DateTimeFormat('zh').format(new Date())); // 2021/01/01 console.log(new Intl.DateTimeFormat...('zh', { timeZoneName: 'shortGeneric' }).format(new Date())); // 2021/01/01 中国时间 console.log(new Intl.DateTimeFormat...('zh', { timeZoneName: 'longGeneric' }).format(new Date())); // 2021/01/01 中国标准时间 console.log(new Intl.DateTimeFormat...('zh', { timeZoneName: 'shortOffset' }).format(new Date())); // 2021/01/01 GMT+8 console.log(new Intl.DateTimeFormat
下划线 (_) 分隔符:使用 _ 分隔数字字面量以方便阅读 Intl.ListFormat :用来处理和多语言相关的对象格式化操作 Intl.DateTimeFormat API 中的 dateStyle...,它是去年发布的标准中的新的逻辑操作符。大家可能遇到过,如果一个变量是空,需要给它赋值为一个默认值的情况。...通常我们会这样写: let num = number || 222 但是,以上的代码会有一个 bug。如果realCount的值是0,则会被当作取不到其值,会取到'无法获取'这个字符串。...,只有当操作符左边的值是null或者undefined的时候,才会取操作符右边的值: let num = number ??...// "Apple、Orange和Banana" 7、Intl.DateTimeFormat API 中的 dateStyle 和 timeStyle 的配置项 Intl.ListFormat 是一个用来处理多语言下的时间日期格式化的函数
读完需要5分钟,速读仅需2分钟 这是前端食堂的第77篇原创 美味值: 口味:青柑普洱 给前端食堂标星标,吃好每一顿饭! 大家好,我是你们的食堂老板童欧巴。...发布[2] Chromiums 升级到 94 nativeWindowOpen: true 不再是实验性的,现在是默认值 添加了 safeStorage 字符串加密 API ......Nuxt 3 即将发布,这次重构带来了很多的新特性[5] V8 v9.5 发布[6] 增强扩展了 Intl.DisplayNames、Intl.DateTimeFormat API WebAssembly...异常处理增强 Chrome v95 DevTools 的新特性[7] 增加调整 css 的灵活多样性,可以通过下拉框选择单位、水平拖动修改数值。...: https://developer.chrome.com/blog/new-in-devtools-95/ [8] 辅助你将当前的 CommonJS 迁移到 ESM 的一套 ESLint 规则: https
目前仅 Chrome、Nodejs 支持。...现在通过 Stable sort 规范,可以确保这个排序结果是稳定的。 目前已经被 Chrome、Firefox、Safari、Nodejs 支持。...Intl.DateTimeFormat -> formatRange DateTimeFormat 可以定制日期格式化输出: const start = new Date(startTimestamp)...; // -> 'May 7, 2019' const end = new Date(endTimestamp); // -> 'May 9, 2019' const fmt = new Intl.DateTimeFormat...目前已经被 Chrome、Firefox 支持。 WeakRef WeakRef 是从 OC 抄过来的弱引用概念。 为了解决这个问题:当对象被引用后,由于引用的存在,导致对象无法被 GC。
使用 DateTimeFormat 处理日期 Intl.DateTimeFormat 是一个构造函数,它允许我们进行语言敏感的日期处理。...(new Intl.DateTimeFormat('zh-ch').format(date)); // 2019/8/30 它不仅仅能够对日期中数字的规则进行格式化。...new Intl.DateTimeFormat( 'zh-CN', { weekday: 'short', month: 'long', day: '2-digit'...new Intl.DateTimeFormat( 'zh-CN', { day: '2-digit', month: 'long', year: 'numeric',...Intl.RelativeTimeFormat('en'); formatter.format(-1, 'day'); // 1 day ago 通过将 numeric 设置为 auto,我们也可以使用字符串值(
/32.0.1700.77 Safari/537.36" ... ... ---- elasticsearch中检索 使用下面的方式进行检索 查返回状态为 404 和 304的 [root@h102 ~..."Mountain View","latitude":37.385999999999996,"longitude":-122.0838,"dma_code":807,"area_code":650,"timezone...continent_code":"EU","region_name":"48","city_name":"Moscow","latitude":55.75219999999999,"longitude":37.6156,"timezone...continent_code":"EU","region_name":"48","city_name":"Moscow","latitude":55.75219999999999,"longitude":37.6156,"timezone...continent_code":"AS","region_name":"22","city_name":"Beijing","latitude":39.9289,"longitude":116.38830000000002,"timezone
领取专属 10元无门槛券
手把手带您无忧上云