有些项目需要第三方的接口来取数据,这样就有个问题,那就是有些字段比较特殊,采用的都是国际标准时间,方便别的语言调用,这样时间差就相差不一样了,需要进行转换。

例如:GPS的数据时间格式:ddMMyy-hhmmss 需要转换DateTime类型,如果用Convert.ToDateTime进行转换会报错,因为格式不正确,还有一种方式转换DateTime.ParseExact(date, "ddMMyy-hhmmss", CultureInfo.CurrentCulture),这种方式也是有问题,假如日期小时(hh)是凌晨:16到23这个时间段会报错。还有就是取来的接口数据不会自动补全天、月,比如:4月1日,可能第三方传给你的是dMyy,缺少0.

所以要解决比较好的方式可以选择解析日期:

如下代码:

调勇:

ToDateTime("080316-060553")
  #region 格林威治时间转换成北京时间/// <summary>/// 格林威治时间转换成北京时间/// </summary>/// <param name="date">ddMMyy-hhmmss</param>/// <returns>DateTime</returns>public static DateTime ToDateTime(string date){var yyyy = "";var MM = "";var dd = "";var hh = "";var mm = "";var ss = "";var newDate = "";var nowDate = DateTime.Now;try{if (!string.IsNullOrEmpty(date) && date.Contains('-')){var dates = date.Split('-');var yyMMdd = dates[0];var hhmmss = dates[1];if (yyMMdd.Length == 6){yyyy = "20" + yyMMdd.Substring(4, 2);MM = yyMMdd.Substring(2, 2);dd = yyMMdd.Substring(0, 2);}else if (yyMMdd.Length == 5){yyyy = "20" + yyMMdd.Substring(3, 2);MM = yyMMdd.Substring(1, 2);dd = yyMMdd.Substring(0, 1);}else if (yyMMdd.Length == 4){yyyy = "20" + yyMMdd.Substring(2, 2);MM = yyMMdd.Substring(1, 1);dd = yyMMdd.Substring(0, 1);}if (hhmmss.Length == 6){hh = hhmmss.Substring(0, 2);mm = hhmmss.Substring(2, 2);ss = hhmmss.Substring(4, 2);}else{hh = nowDate.ToString("hh");mm = nowDate.ToString("mm");ss = nowDate.ToString("ss");}newDate = yyyy + "-" + MM.PadLeft(2, '0') + "-" + dd.PadLeft(2, '0') + " " + hh.PadLeft(2, '0') + ":" + mm.PadLeft(2, '0') + ":" + ss.PadLeft(2, '0');return Convert.ToDateTime(newDate).AddHours(8);//北京时间需要加8个小时}}catch (Exception ex){}return DateTime.Now;} #endregion

日期格式:ddMMyy-hhmmss,格林威治时间转换成北京时间相关推荐

  1. PostgreSQL | 将 timestamptz 格式的UTC时间转换成北京时间

    PostgreSQL | 将 timestamptz 格式的UTC时间转换成北京时间 1.将UTC时间"2020-08-25 02:11:34.59741+00" 转换成北京时间( ...

  2. c语言 北京时间转换utc时间_UTC时间转换成北京时间C语言函数代码

    UTC + 时区差 = 本地时间 时区差东为正,西为负.在此,把东八区时区差记为 +0800, UTC + (+0800) = 本地(北京)时间 (1) 那么,UTC = 本地时间(北京时间))- 0 ...

  3. UTC时间转换成北京时间C语言函数代码

    UTC + 时区差 = 本地时间 时区差东为正,西为负.在此,把东八区时区差记为 +0800, UTC + (+0800) = 本地(北京)时间 (1) 那么,UTC = 本地时间(北京时间))- 0 ...

  4. python UTC时间转换成北京时间

    UTC时间转成北京时间: 例如:2020-04-26T03:02:01Z 转成 2020-04-26 11:02:01 时差问题:UTC+8=北京时间 from datetime import dat ...

  5. 格林威治时间转换成北京时间

    解析rss订阅内容时候,发现pubDate是格林威治时间格式,在手册上找到这个函数,收藏 gmstrtotime($sgm) {$months = array('Jan'=>1,'Feb'=&g ...

  6. 格林威治时间转换成北京时间,Mon May 10 2021 15:34:42 GMT+0800 (中国标准时间) TO 2021/5/10

    public class DateUtil {public final static String FORMAT_STRING = "yyyy-MM-dd HH:mm:ss";pu ...

  7. java输出格林威治时间_Java之格林威治时间格式转换成北京时间格式

    Java之格林威治时间格式转换成北京时间格式 /** * Copyright 2020. yaodouwang.com Studio All Right Reserved * * Create on ...

  8. 将Json转换过来的带T的字符串格式的时间转换成正常时间,并通过指定格式输出

    java中时间接受Json转换时间格式很讨厌,因为json转换的时间带有"T",导致转换时间出错.我提供了下面方法可以转换时间并传出指定格式时间: /*** 将Json转换过来的带 ...

  9. 将本地时间转换成 UTC 时间,0时区时间

    // 将时间戳转换成日期格式: function timestampToTime(timestamp) { var date = new Date(timestamp);//时间戳为10位需*1000 ...

最新文章

  1. Load balancer does not have available server for client
  2. VC++ 中ListCtrl经验总结
  3. 浅析人工智能的数学基础(文末送书!)
  4. $* $@ $# $? $$ $! $0 $_
  5. Ubuntu下安装Oracle11g(图文教程)
  6. 去掉左边0_SLAM从0到1——11. 视觉里程计VO内容框架
  7. linux 内核编译需要多大空间,编译2.6.28内核出错。。。。空间不足。而/tmp/还有好几G...
  8. JEECG 官方微博账号
  9. 苹果抄袭豌豆射手实锤!AirPods Pro又被玩坏了...
  10. 开源PaaS Rainbond发布v3.7.2版本,帮助企业快速构建应用市场
  11. mysql 8.X主从复制
  12. LINUX Telepresence编译详细过程记录
  13. 如何把Backtrack 5安装到U盘/Backtrack 4安装方法
  14. Spring Boot使用WebSocket实现群聊
  15. WARN: Establishing SSL connection without server‘s identity verification is not recommended
  16. centos7安装部署kvm,照做就行
  17. 迅为STM32MP157开发板使用手册更新啦
  18. Flutter AppBar设置渐变色背景
  19. FVCOM 环境基础配置(1) intel编译器 下载与安装
  20. 抓取图片拼接成全景图

热门文章

  1. 工厂进销存软件哪家好,有没有适合服装厂使用的?
  2. FMSoft uniGUI Professional 1.90.0.1564 Crack
  3. 【渝粤教育】广东开放大学 人际沟通实务 形成性考核 (49)
  4. 论文阅读 新的非视距场景(imaging behind occluders)|| ECCV 2020: Imaging Behind Occluders Using Two-Bounce Light
  5. Java岗大厂面试百日冲刺 - 日积月累,每日三题【Day25】—— JVM1
  6. 最优化基础理论与方法——2.1最优性条件
  7. window 杀掉java进程_Windows下杀死顽固进程两招(转载)
  8. show databases不能正确显示的问题
  9. css层叠样式表基础学习笔记--第五章 文本属性
  10. Oad在线检测tra