GPS,UTC和本地时间的显示器
来源:互联网 发布:下或官方手机淘宝 编辑:程序博客网 时间:2024/05/21 19:33
GPS,UTC和本地时间的显示器
GitHub仓库:https://github.com/XinLiGitHub/GpsUtcAndLocalTime
PS:博文不再更新,后续更新会在GitHub仓库进行。
GPS,UTC和本地时间的显示器。程序中涉及到朱利安日期的转换,详细介绍见维基百科[Julian day](https://en.wikipedia.org/wiki/Julian_day)。
1,开发环境
1,操作系统:Windows 10 专业版
2,IDE:Visual Studio 2015 专业版
2,程序源码
DateTime.h文件
/**************************************************************** * Copyright (C) 2017, XinLi, all right reserved. * File name: DateTime.h * Date: 2017.10.17 * Description: Date and time module header file.*****************************************************************/#ifndef __DATETIME_H#define __DATETIME_H/**************************************************************** * Header include*****************************************************************//**************************************************************** * Macro definition*****************************************************************//**************************************************************** * Type definition*****************************************************************//**************************************************************** * Structure definition*****************************************************************/typedef struct{ int year; int month; int day; int hour; int minute; int second;}DateTime;typedef struct{ int week; int second;}GpsWeekSecond;#ifdef __cplusplusextern "C" {#endif /* __cplusplus *//**************************************************************** * Variable declaration*****************************************************************//**************************************************************** * Function declaration*****************************************************************/DateTime GregorianCalendarDateAddYear(DateTime time, int year);DateTime GregorianCalendarDateAddMonth(DateTime time, int month);DateTime GregorianCalendarDateAddWeek(DateTime time, int week);DateTime GregorianCalendarDateAddDay(DateTime time, int day);DateTime GregorianCalendarDateAddHour(DateTime time, int hour);DateTime GregorianCalendarDateAddMinute(DateTime time, int minute);DateTime GregorianCalendarDateAddSecond(DateTime time, int second);GpsWeekSecond GregorianCalendarDateToGpsWeekSecond(DateTime time);double GregorianCalendarDateToJulianDate(DateTime time);double GregorianCalendarDateToModifiedJulianDate(DateTime time);GpsWeekSecond GpsWeekSecondAddYear(GpsWeekSecond time, int year);GpsWeekSecond GpsWeekSecondAddMonth(GpsWeekSecond time, int month);GpsWeekSecond GpsWeekSecondAddWeek(GpsWeekSecond time, int week);GpsWeekSecond GpsWeekSecondAddDay(GpsWeekSecond time, int day);GpsWeekSecond GpsWeekSecondAddHour(GpsWeekSecond time, int hour);GpsWeekSecond GpsWeekSecondAddMinute(GpsWeekSecond time, int minute);GpsWeekSecond GpsWeekSecondAddSecond(GpsWeekSecond time, int second);DateTime GpsWeekSecondToGregorianCalendarDate(GpsWeekSecond time);double GpsWeekSecondToJulianDate(GpsWeekSecond time);double GpsWeekSecondToModifiedJulianDate(GpsWeekSecond time);double JulianDateAddYear(double jd, int year);double JulianDateAddMonth(double jd, int month);double JulianDateAddWeek(double jd, int week);double JulianDateAddDay(double jd, int day);double JulianDateAddHour(double jd, int hour);double JulianDateAddMinute(double jd, int minute);double JulianDateAddSecond(double jd, int second);DateTime JulianDateToGregorianCalendarDate(double jd);GpsWeekSecond JulianDateToGpsWeekSecond(double jd);double JulianDateToModifiedJulianDate(double jd);double ModifiedJulianDateAddYear(double mjd, int year);double ModifiedJulianDateAddMonth(double mjd, int month);double ModifiedJulianDateAddWeek(double mjd, int week);double ModifiedJulianDateAddDay(double mjd, int day);double ModifiedJulianDateAddHour(double mjd, int hour);double ModifiedJulianDateAddMinute(double mjd, int minute);double ModifiedJulianDateAddSecond(double mjd, int second);DateTime ModifiedJulianDateToGregorianCalendarDate(double mjd);GpsWeekSecond ModifiedJulianDateToGpsWeekSecond(double mjd);double ModifiedJulianDateToJulianDate(double mjd);#ifdef __cplusplus}#endif /* __cplusplus */#endif /* __DATETIME_H */
DateTime.c文件
/**************************************************************** * Copyright (C) 2017, XinLi, all right reserved. * File name: DateTime.c * Date: 2017.10.17 * Description: Date and time module source file.*****************************************************************//**************************************************************** * Header include*****************************************************************/#include "DateTime.h"/**************************************************************** * Global variables*****************************************************************//**************************************************************** * Function declaration*****************************************************************//**************************************************************** * Function definition*****************************************************************//**************************************************************** * Function: GregorianCalendarDateAddYear * Description: Gregorian calendar date add year. * Input: time: Gregorian calendar date. * year: The number of year to add. * Output: * Return: Gregorian calendar date.*****************************************************************/DateTime GregorianCalendarDateAddYear(DateTime time, int year){ time.year += year; if(time.month == 2) { int mday = 0; if((((time.year % 4) == 0) && ((time.year % 100) != 0)) || ((time.year % 400) == 0)) { mday = 29; } else { mday = 28; } if(time.day > mday) { time.month += 1; time.day -= mday; } } return time;}/**************************************************************** * Function: GregorianCalendarDateAddMonth * Description: Gregorian calendar date add month. * Input: time: Gregorian calendar date. * month: The number of month to add. * Output: * Return: Gregorian calendar date.*****************************************************************/DateTime GregorianCalendarDateAddMonth(DateTime time, int month){ time.year += month / 12; time.month += month % 12; if(time.month > 12) { time.year += 1; time.month -= 12; } int mday = 0; if((time.month == 1) || (time.month == 3) || (time.month == 5) || (time.month == 7) || (time.month == 8) || (time.month == 10) || (time.month == 12)) { mday = 31; } else if((time.month == 4) || (time.month == 6) || (time.month == 9) || (time.month == 11)) { mday = 30; } else { if((((time.year % 4) == 0) && ((time.year % 100) != 0)) || ((time.year % 400) == 0)) { mday = 29; } else { mday = 28; } } if(time.day > mday) { time.month += 1; time.day -= mday; if(time.month > 12) { time.year += 1; time.month -= 12; } } return time;}/**************************************************************** * Function: GregorianCalendarDateAddWeek * Description: Gregorian calendar date add week. * Input: time: Gregorian calendar date. * week: The number of week to add. * Output: * Return: Gregorian calendar date.*****************************************************************/DateTime GregorianCalendarDateAddWeek(DateTime time, int week){ double jd = GregorianCalendarDateToJulianDate(time) + week * 7.0; return JulianDateToGregorianCalendarDate(jd);}/**************************************************************** * Function: GregorianCalendarDateAddDay * Description: Gregorian calendar date add day. * Input: time: Gregorian calendar date. * day: The number of day to add. * Output: * Return: Gregorian calendar date.*****************************************************************/DateTime GregorianCalendarDateAddDay(DateTime time, int day){ double jd = GregorianCalendarDateToJulianDate(time) + day; return JulianDateToGregorianCalendarDate(jd);}/**************************************************************** * Function: GregorianCalendarDateAddHour * Description: Gregorian calendar date add hour. * Input: time: Gregorian calendar date. * hour: The number of hour to add. * Output: * Return: Gregorian calendar date.*****************************************************************/DateTime GregorianCalendarDateAddHour(DateTime time, int hour){ time.hour += hour; double jd = GregorianCalendarDateToJulianDate(time); return JulianDateToGregorianCalendarDate(jd);}/**************************************************************** * Function: GregorianCalendarDateAddMinute * Description: Gregorian calendar date add minute. * Input: time: Gregorian calendar date. * minute: The number of minute to add. * Output: * Return: Gregorian calendar date.*****************************************************************/DateTime GregorianCalendarDateAddMinute(DateTime time, int minute){ time.minute += minute; double jd = GregorianCalendarDateToJulianDate(time); return JulianDateToGregorianCalendarDate(jd);}/**************************************************************** * Function: GregorianCalendarDateAddSecond * Description: Gregorian calendar date add second. * Input: time: Gregorian calendar date. * second: The number of seconds to add. * Output: * Return: Gregorian calendar date.*****************************************************************/DateTime GregorianCalendarDateAddSecond(DateTime time, int second){ time.second += second; double jd = GregorianCalendarDateToJulianDate(time); return JulianDateToGregorianCalendarDate(jd);}/**************************************************************** * Function: GregorianCalendarDateToGpsWeekSecond * Description: Gregorian calendar date to gps week and second. * Input: time: Gregorian calendar date. * Output: * Return: Gps week and second.*****************************************************************/GpsWeekSecond GregorianCalendarDateToGpsWeekSecond(DateTime time){ double jd = GregorianCalendarDateToJulianDate(time); return JulianDateToGpsWeekSecond(jd);}/**************************************************************** * Function: GregorianCalendarDateToJulianDate * Description: Gregorian calendar date to julian date. * Input: time: Gregorian calendar date. * Output: * Return: Julian date.*****************************************************************/double GregorianCalendarDateToJulianDate(DateTime time){ int jdn = (1461 * (time.year + 4800 + (time.month - 14) / 12)) / 4 + (367 * (time.month - 2 - 12 * ((time.month - 14) / 12))) / 12 - (3 * ((time.year + 4900 + (time.month - 14) / 12) / 100)) / 4 + time.day - 32075; double jd = jdn + ((time.hour - 12) * 3600.0 + time.minute * 60.0 + time.second) / 86400.0; return jd;}/**************************************************************** * Function: GregorianCalendarDateToModifiedJulianDate * Description: Gregorian calendar date to modified julian date. * Input: time: Gregorian calendar date. * Output: * Return: Modified julian date.*****************************************************************/double GregorianCalendarDateToModifiedJulianDate(DateTime time){ return GregorianCalendarDateToJulianDate(time) - 2400000.5;}/**************************************************************** * Function: GpsWeekSecondAddYear * Description: Gps week and second add year. * Input: time: Gps week and second. * year: The number of year to add. * Output: * Return: Gps week and second.*****************************************************************/GpsWeekSecond GpsWeekSecondAddYear(GpsWeekSecond time, int year){ DateTime date = GpsWeekSecondToGregorianCalendarDate(time); date = GregorianCalendarDateAddYear(date, year); return GregorianCalendarDateToGpsWeekSecond(date);}/**************************************************************** * Function: GpsWeekSecondAddMonth * Description: Gps week and second add month. * Input: time: Gps week and second. * month: The number of month to add. * Output: * Return: Gps week and second.*****************************************************************/GpsWeekSecond GpsWeekSecondAddMonth(GpsWeekSecond time, int month){ DateTime date = GpsWeekSecondToGregorianCalendarDate(time); date = GregorianCalendarDateAddMonth(date, month); return GregorianCalendarDateToGpsWeekSecond(date);}/**************************************************************** * Function: GpsWeekSecondAddWeek * Description: Gps week and second add week. * Input: time: Gps week and second. * week: The number of week to add. * Output: * Return: Gps week and second.*****************************************************************/GpsWeekSecond GpsWeekSecondAddWeek(GpsWeekSecond time, int week){ time.week += week; return time;}/**************************************************************** * Function: GpsWeekSecondAddDay * Description: Gps week and second add day. * Input: time: Gps week and second. * day: The number of day to add. * Output: * Return: Gps week and second.*****************************************************************/GpsWeekSecond GpsWeekSecondAddDay(GpsWeekSecond time, int day){ time.week += day / 7; time.second += day % 7 * 86400; if(time.second > 604799) { time.week += 1; time.second -= 604800; } return time;}/**************************************************************** * Function: GpsWeekSecondAddHour * Description: Gps week and second add hour. * Input: time: Gps week and second. * hour: The number of hour to add. * Output: * Return: Gps week and second.*****************************************************************/GpsWeekSecond GpsWeekSecondAddHour(GpsWeekSecond time, int hour){ time.week += hour / 168; time.second += hour % 168 * 3600; if(time.second > 604799) { time.week += 1; time.second -= 604800; } return time;}/**************************************************************** * Function: GpsWeekSecondAddMinute * Description: Gps week and second add minute. * Input: time: Gps week and second. * minute: The number of minute to add. * Output: * Return: Gps week and second.*****************************************************************/GpsWeekSecond GpsWeekSecondAddMinute(GpsWeekSecond time, int minute){ time.week += minute / 10080; time.second += minute % 10080 * 60; if(time.second > 604799) { time.week += 1; time.second -= 604800; } return time;}/**************************************************************** * Function: GpsWeekSecondAddSecond * Description: Gps week and second add second. * Input: time: Gps week and second. * second: The number of second to add. * Output: * Return: Gps week and second.*****************************************************************/GpsWeekSecond GpsWeekSecondAddSecond(GpsWeekSecond time, int second){ time.week += second / 604800; time.second += second % 604800; if(time.second > 604799) { time.week += 1; time.second -= 604800; } return time;}/**************************************************************** * Function: GpsWeekSecondToGregorianCalendarDate * Description: Gps week and second to gregorian calendar date. * Input: time: Gps week and second. * Output: * Return: Gregorian calendar date.*****************************************************************/DateTime GpsWeekSecondToGregorianCalendarDate(GpsWeekSecond time){ double jd = GpsWeekSecondToJulianDate(time); return JulianDateToGregorianCalendarDate(jd);}/**************************************************************** * Function: GpsWeekSecondToJulianDate * Description: Gps week and second to julian date. * Input: time: Gps week and second. * Output: * Return: Julian date.*****************************************************************/double GpsWeekSecondToJulianDate(GpsWeekSecond time){ double jd = 2444244.5 + time.week * 7.0 + time.second / 86400.0; return jd;}/**************************************************************** * Function: GpsWeekSecondToModifiedJulianDate * Description: Gps week and second to modified julian date. * Input: time: Gps week and second. * Output: * Return: Modified julian date.*****************************************************************/double GpsWeekSecondToModifiedJulianDate(GpsWeekSecond time){ return GpsWeekSecondToJulianDate(time) - 2400000.5;}/**************************************************************** * Function: JulianDateAddYear * Description: Julian date add year. * Input: jd: Julian date. * year: The number of year to add. * Output: * Return: Julian date.*****************************************************************/double JulianDateAddYear(double jd, int year){ DateTime date = JulianDateToGregorianCalendarDate(jd); date = GregorianCalendarDateAddYear(date, year); return GregorianCalendarDateToJulianDate(date);}/**************************************************************** * Function: JulianDateAddMonth * Description: Julian date add month. * Input: jd: Julian date. * month: The number of month to add. * Output: * Return: Julian date.*****************************************************************/double JulianDateAddMonth(double jd, int month){ DateTime date = JulianDateToGregorianCalendarDate(jd); date = GregorianCalendarDateAddMonth(date, month); return GregorianCalendarDateToJulianDate(date);}/**************************************************************** * Function: JulianDateAddWeek * Description: Julian date add week. * Input: jd: Julian date. * week: The number of week to add. * Output: * Return: Julian date.*****************************************************************/double JulianDateAddWeek(double jd, int week){ jd += week * 7.0; return jd;}/**************************************************************** * Function: JulianDateAddDay * Description: Julian date add day. * Input: jd: Julian date. * day: The number of day to add. * Output: * Return: Julian date.*****************************************************************/double JulianDateAddDay(double jd, int day){ jd += day; return jd;}/**************************************************************** * Function: JulianDateAddHour * Description: Julian date add hour. * Input: jd: Julian date. * hour: The number of hour to add. * Output: * Return: Julian date.*****************************************************************/double JulianDateAddHour(double jd, int hour){ jd += hour / 24.0; return jd;}/**************************************************************** * Function: JulianDateAddMinute * Description: Julian date add minute. * Input: jd: Julian date. * minute: The number of minute to add. * Output: * Return: Julian date.*****************************************************************/double JulianDateAddMinute(double jd, int minute){ jd += minute / 1440.0; return jd;}/**************************************************************** * Function: JulianDateAddSecond * Description: Julian date add second. * Input: jd: Julian date. * second: The number of second to add. * Output: * Return: Julian date.*****************************************************************/double JulianDateAddSecond(double jd, int second){ jd += second / 86400.0; return jd;}/**************************************************************** * Function: JulianDateToGregorianCalendarDate * Description: Julian date to gregorian calendar date. * Input: jd: Julian date. * Output: * Return: Gregorian calendar date.*****************************************************************/DateTime JulianDateToGregorianCalendarDate(double jd){ int y = 4716; int j = 1401; int m = 2; int n = 12; int r = 4; int p = 1461; int v = 3; int u = 5; int s = 153; int w = 2; int b = 274277; int c = -38; int jdn = (int)(jd + 0.5); int f = jdn + j + (((4 * jdn + b) / 146097) * 3) / 4 + c; int e = r * f + v; int g = (e % p) / r; int h = u * g + w; DateTime time = {0}; time.day = (h % s) / u + 1; time.month = (h / s + m) % n + 1; time.year = e / p - y + (n + m - time.month) / n; time.hour = (int)((jd + 0.5 - jdn) * 86400.5) / 3600; time.minute = (int)((jd + 0.5 - jdn) * 86400.5 - time.hour * 3600) / 60; time.second = (int)((jd + 0.5 - jdn) * 86400.5 - time.hour * 3600 - time.minute * 60); return time;}/**************************************************************** * Function: JulianDateToGpsWeekSecond * Description: Julian date to gps week and second. * Input: jd: Julian date. * Output: * Return: Gps week and second.*****************************************************************/GpsWeekSecond JulianDateToGpsWeekSecond(double jd){ GpsWeekSecond time = {0}; DateTime date = JulianDateToGregorianCalendarDate(jd); time.week = (int)(jd - 2444244.5) / 7; time.second = ((int)(jd - 2444244.5) - time.week * 7) * 86400 + date.hour * 3600 + date.minute * 60 + date.second; return time;}/**************************************************************** * Function: JulianDateToModifiedJulianDate * Description: Julian date to modified julian date. * Input: jd: Julian date. * Output: * Return: Modified julian date.*****************************************************************/double JulianDateToModifiedJulianDate(double jd){ double mjd = jd - 2400000.5; return mjd;}/**************************************************************** * Function: ModifiedJulianDateAddYear * Description: Modified julian date add year. * Input: mjd: Modified julian date. * year: The number of year to add. * Output: * Return: Modified julian date.*****************************************************************/double ModifiedJulianDateAddYear(double mjd, int year){ DateTime date = ModifiedJulianDateToGregorianCalendarDate(mjd); date = GregorianCalendarDateAddYear(date, year); return GregorianCalendarDateToModifiedJulianDate(date);}/**************************************************************** * Function: ModifiedJulianDateAddMonth * Description: Modified julian date add month. * Input: mjd: Modified julian date. * month: The number of month to add. * Output: * Return: Modified julian date.*****************************************************************/double ModifiedJulianDateAddMonth(double mjd, int month){ DateTime date = ModifiedJulianDateToGregorianCalendarDate(mjd); date = GregorianCalendarDateAddMonth(date, month); return GregorianCalendarDateToModifiedJulianDate(date);}/**************************************************************** * Function: ModifiedJulianDateAddWeek * Description: Modified julian date add week. * Input: mjd: Modified julian date. * week: The number of week to add. * Output: * Return: Modified julian date.*****************************************************************/double ModifiedJulianDateAddWeek(double mjd, int week){ mjd += week * 7.0; return mjd;}/**************************************************************** * Function: ModifiedJulianDateAddDay * Description: Modified julian date add day. * Input: mjd: Modified julian date. * day: The number of day to add. * Output: * Return: Modified julian date.*****************************************************************/double ModifiedJulianDateAddDay(double mjd, int day){ mjd += day; return mjd;}/**************************************************************** * Function: ModifiedJulianDateAddHour * Description: Modified julian date add hour. * Input: mjd: Modified julian date. * hour: The number of hour to add. * Output: * Return: Modified julian date.*****************************************************************/double ModifiedJulianDateAddHour(double mjd, int hour){ mjd += hour / 24.0; return mjd;}/**************************************************************** * Function: ModifiedJulianDateAddMinute * Description: Modified julian date add minute. * Input: mjd: Modified julian date. * minute: The number of minute to add. * Output: * Return: Modified julian date.*****************************************************************/double ModifiedJulianDateAddMinute(double mjd, int minute){ mjd += minute / 1440.0; return mjd;}/**************************************************************** * Function: ModifiedJulianDateAddSecond * Description: Modified julian date add second. * Input: mjd: Modified julian date. * second: The number of second to add. * Output: * Return: Modified julian date.*****************************************************************/double ModifiedJulianDateAddSecond(double mjd, int second){ mjd += second / 86400.0; return mjd;}/**************************************************************** * Function: ModifiedJulianDateToGregorianCalendarDate * Description: Modified julian date to gregorian calendar date. * Input: mjd: Modified julian date. * Output: * Return: Gregorian calendar date.*****************************************************************/DateTime ModifiedJulianDateToGregorianCalendarDate(double mjd){ return JulianDateToGregorianCalendarDate(mjd + 2400000.5);}/**************************************************************** * Function: ModifiedJulianDateToGpsWeekSecond * Description: Modified julian date to gps week and second. * Input: mjd: Modified julian date. * Output: * Return: Gps week and second.*****************************************************************/GpsWeekSecond ModifiedJulianDateToGpsWeekSecond(double mjd){ return JulianDateToGpsWeekSecond(mjd + 2400000.5);}/**************************************************************** * Function: ModifiedJulianDateToJulianDate * Description: Modified julian date to julian date. * Input: mjd: Modified julian date. * Output: * Return: Julian date.*****************************************************************/double ModifiedJulianDateToJulianDate(double mjd){ double jd = mjd + 2400000.5; return jd;}
main.c文件
/**************************************************************** * Copyright (C) 2017, XinLi, all right reserved. * File name: main.c * Date: 2017.10.17 * Description: GPS, UTC and local time displays.*****************************************************************//**************************************************************** * Header include*****************************************************************/#include "DateTime.h"#include <stdint.h>#include <stdio.h>#include <time.h>#include <windows.h>/**************************************************************** * Global variables*****************************************************************//**************************************************************** * Function declaration*****************************************************************/static void gotoxy(int x, int y);/**************************************************************** * Function definition*****************************************************************//**************************************************************** * Function: main * Description: Program entry. * Input: * Output: * Return:*****************************************************************/int main(void){ for(;;) { time_t times = 0; double mjd = 0.0; DateTime utctime = {.year = 1970, .month = 1, .day = 1, .hour = 0, .minute = 0, .second = 0}; DateTime localtime = {.year = 1970, .month = 1, .day = 1, .hour = 8, .minute = 0, .second = 0}; DateTime gpstime = {.year = 1970, .month = 1, .day = 1, .hour = 0, .minute = 0, .second = 0}; GpsWeekSecond gpstimews = {0}; time(×); if(times > INT32_MAX) { utctime = GregorianCalendarDateAddSecond(utctime, INT32_MAX); utctime = GregorianCalendarDateAddSecond(utctime, (int)(times - INT32_MAX)); } else { utctime = GregorianCalendarDateAddSecond(utctime, (int)times); } mjd = GregorianCalendarDateToModifiedJulianDate(utctime); localtime = GregorianCalendarDateAddHour(utctime, 8); gpstime = GregorianCalendarDateAddSecond(utctime, 18); gpstimews = GregorianCalendarDateToGpsWeekSecond(gpstime); gotoxy(0, 0); printf("Local | %d-%.2d-%.2d %.2d:%.2d:%.2d | timezone UTC+8\n", localtime.year, localtime.month, localtime.day, localtime.hour, localtime.minute, localtime.second); printf("UTC | %d-%.2d-%.2d %.2d:%.2d:%.2d | MJD %.5f\n", utctime.year, utctime.month, utctime.day, utctime.hour, utctime.minute, utctime.second, mjd); printf("GPS | %d-%.2d-%.2d %.2d:%.2d:%.2d | week %d %d s\n", gpstime.year, gpstime.month, gpstime.day, gpstime.hour, gpstime.minute, gpstime.second, gpstimews.week, gpstimews.second); Sleep(100); }}/**************************************************************** * Function: gotoxy * Description: Move the cursor to the specified position on the text screen. * Input: x: X axis coordinates. * y: Y axis coordinates. * Output: * Return:*****************************************************************/static void gotoxy(int x, int y){ COORD pos = {x, y}; HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE); SetConsoleCursorPosition(hOut, pos);}
3,运行效果
阅读全文
1 0
- GPS,UTC和本地时间的显示器
- GPS时间和UTC时间的区别,
- utc 和本地时间的转化
- 本地时间和GMT(UTC)时间的转换
- 本地时间和GMT(UTC)时间的转换(C#)
- 本地时间和GMT(UTC)时间的转换
- SQL Server 的本地时间和UTC时间
- 本地时间和UTC时间的来回转换
- 本地时间和UTC时间 转换
- 关于UTC时间的转本地时间
- UTC时间&本地时间
- UTC转换本地时间
- UTC转换本地时间
- UTC转换本地时间
- Java时间处理(UTC时间和本地时间转换)
- 在编程中UTC时间和本地时间(LocalTime)的区别
- c# UTC时间和本地时间转换(北京时间)
- 获取本地时间,UTC时间
- 安哥拉练习题
- AutoML-自动机器学习
- 记事本输入框
- 操作系统复习总结
- java中的常见的数据类型(四类八种)
- GPS,UTC和本地时间的显示器
- 【练习】顺序串的实现及应用
- python---实战5筛选特定数据的长度、最多(字典、元组、列表、文件操作、替换)
- 实验:centos7.3实现基于源码编译安装LAMP的wordpress应用
- Java的四种引用,强弱软虚,用到的场景
- battery-historian V2.0的数据获取及参数分析
- 快速排序优化
- windows磁盘黑色未分配区域扩展到逻辑驱动器
- 计数排序