将UTC时间(2018-07-03T10:18:58.000Z)转换为北京时间

本文介绍了一种将UTC时间格式(如2018-07-03T10:18:58.000Z)转换为北京时间的方法。通过JavaScript代码实现了时间格式的转换,并详细解释了如何处理UTC时间,包括去除特定字符、调整时区差异等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

2018-07-03T10:18:58.000Z是什么时间格式

UTC:时间标准时间,世界标准时间 ✅

GMT:格林尼治时间

GST:北京时间

js如何处理UTC时间格式

遇到问题:用了阿里云的接口,发现传的日期是UTC格式的。需要转换。

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <script>
      let time = "2018-07-03T10:18:58.000Z";
      function formatUTC(utc_datetime) {
        // 转为正常的时间格式 年-月-日 时:分:秒
        var T_pos = utc_datetime.indexOf("T");
        var Z_pos = utc_datetime.indexOf("Z");
        var year_month_day = utc_datetime.substr(0, T_pos);
        var hour_minute_second = utc_datetime.substr(
          T_pos + 1,
          Z_pos - T_pos - 1
        );
        var new_datetime = year_month_day + " " + hour_minute_second; // 2017-03-31 08:02:06

        // 处理成为时间戳
        var timestamp = new Date(Date.parse(new_datetime));
        timestamp = timestamp.getTime();
        timestamp = timestamp / 1000;

        // 增加8个小时,北京时间比utc时间多八个时区
        timestamp = timestamp + 8 * 60 * 60;

        // 时间戳转为时间
        var beijing_datetime = new Date(parseInt(timestamp) * 1000)
          .toLocaleString()
          .replace(/年|月/g, "-")
          .replace(/日/g, " ");
        return beijing_datetime;
      }
      console.log(formatUTC(time)); // 打印:2018/7/3 下午6:18:58
    </script>
  </body>
</html>

import java.time.LocalDateTime; import java.util.Timer; import java.util.TimerTask; public class qiangpiao { public void main(String[] args) throws Exception { String url = "http://mkts.chinaums.com"; String userInfo = "3BAF8F6F2A237A9819A8171679320C81BA00BF3D68D2370607B187B1F96E83D910336D47DE4AF1918AC85048A7EE9956DE27E0D03BE230E441CAD6E6E7902100578DB16887CF31C59C36D6F4F6027E6E42F254B1079AEACABC9A9991973B4330480D3BDD836B33B2D6E6F973EF90B54C94457680BCF1C267D6AEA5A4606B6EAD1BA2D7028DA7E58D92A28470EFA17FF1F08849B73EF6A903D8B45C4230F02171800E3E24A345F4DF1C2BEBC6413C92198FF39BF68CA6979F3610FB9909E0C4CC68940C925D30DB1F0ACDDCFFB32F53F979D3F934C0620F19E24D16ECE84748E47D060A743637F23E1BCA1D11FA207B66201E81AA837D7ECD0907F46173A841C2"; //抓包的订单号,抓一个复用就行 String phonePlatSsn = "2923fe5dfd054fcab2bc71bf70ffde49"; //2923fe5dfd054fcab2bc71bf70ffde49 //576c0f7d702440ac8553b125381d2fc6 //设置当天时间9:59分后开抢 LocalDateTime dateTime = LocalDateTimeUtils.toLocalDateTime(1752285540000L); Timer timer = new Timer(); //一个任务对应抢一种券 //WATER_PURIFIER 净水器 DISHWASHER 洗衣机 MICROWAVE_OVEN 微波炉 TimerTask waterpurifierTask = new TimerTask() { @Override public void run() { try { if (LocalDateTime.now().isBefore(dateTime)) { log.info("净水器时间未到"); return; } log.info("净水器开抢"); OkHttpClient client = new OkHttpClient(); String requestBody = String.format("{\"plasSsn\": \"%s\", \"userInfo\": \"%s\", \"category\": \"WATER_PURIFIER\"}", phonePlatSsn, userInfo); //直接用抓包里的信息构造即可 Request request = new Request.Builder() .url(url + "/jdhsApi/jdhs/user/category/remain/chance") .post(RequestBody.create(requestBody,MediaType.parse("application/json"))) .addHeader("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36 MicroMessenger/7.0.20.1781(0x6700143B) NetType/WIFI MiniProgramEnv/Windows WindowsWechat/WMPF WindowsWechat(0x63090c33)XWEB/14185") .addHeader("Content-Type", "application/json") .addHeader("Accept", "*/*") .addHeader("Host", "mkts.chinaums.com") .addHeader("Connection", "keep-alive") .build(); try (Response response = client.newCall(request).excurte()) { if (!response.isSuccessful()) { log.warn("净水器请求异常:{}", response); } String body = response.body().string(); //自行在云闪付查看结果 System.out.println("手机抢购结果:" + body); } } catch (Exception e) { log.error("{}", e.getMessage(), e); } log.info("净水器抢购结束"); } }; long delay = 0; //延迟0毫秒后开始执行 long period = 10; //每10ms执行一次 timer.scheduleAtFixedRate(new TimerTask() { @Override public void run() { //用线程异步执行 Thread thread = new Thread(waterpurifierTask); thread.start(); } }, delay, period); Thread.sleep(1000 * 60 * 60 * 60); } } 以这个代码为基础进行完善,要求:1.主类名为QiangPiao;2.用HttpURLConnectio实现;3.同时抢3种券;4.抢购时间设置为北京时间2025年7月17日上午9点59分,但我要在8点就运行程序,所以要定时开始抢购;5.10ms抢一次;6.用一个文件就能运行
最新发布
07-17
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值