linux嵌入式系统设置时间

esxi配置NTP自动对时与手动对时 VMware ESXi 6.7运行了一段时间后偶然发现系统时间与标准时间有5分钟左右的差异,于是研究了下如何自动对时以及用命令行立即对时。 阅读详情

点击上方蓝字可直接关注!方便下次阅读。如果对你有帮助,麻烦点个在看或点个赞,感谢~

                                        仰望星空的烟火

。

。

。

。

。

。

。

。

。

。

。

。

。

。

。

。

。

。

。

                                        可以缓解颈椎疼痛

有时程序对系统时间有要求,这时需要设置系统的时区以及时间了。

 

1. 使用date指令查询当前系统时间:

未设置前:此时 时间为 Thu Sep 10 02:41:16 UTC 2020

UTC : 世界协调时间,又称世界标准时间。

 

2. 时区文件存储目录

/usr/share/zoneinfo/Asia/Shanghai ,该目录下存放着中国标准时间。新闻联播一般说北京时间,但是linux系统里面时区信息存储的是Shanghai,这里面没有北京地区。

 

3. 时间配置文件

/etc/localtime ,该文件表示系统当前使用的时间信息。

 

4. 修改系统时区时间

①rm -f /etc/localtime  

②ln -sf  /usr/share/zoneinfo/Asia/Shanghai  /etc/localtime

注:我使用的嵌入式系统中没有/usr/share下没有zoneinfo文件夹,是从ubuntu桌面系统拷贝出来的。

③推测:可将ubuntu桌面系统中的 /usr/share/zoneinfo/Asia/Shanghai文件重命名为localtime 放置到嵌入式系统/etc目录下,未实际测试。ln -sf 是文件的软连接,还可以再了解linux 共享库的软连接。

注:嵌入式系统中不支持该指令tzselect

④reboot 后生效

5. 修改后效果

多了8个小时。

6. 断电重启后仍然生效

/etc/profile 添加 export TZ=CST-8 即可。

扩展:

Unix 时间戳

在计算机中看到的UTC时间都是从(1970年01月01日 0:00:00)开始计算秒数的。所看到的UTC时间那就是从1970年这个时间点起到具体时间共有多少秒。这个秒数就是Unix时间戳。

 

小结:

最近学习到了挺多新知识,需要赶快总结。

如何根据系统时间计算程序语句实际执行时间 ?

Linux C中如何屏蔽不同共享库中的同名函数 ?

都是一些小技巧。

如何设计方便复用的模块化程序 ?

欢迎关注公众号:

Linux嵌入式系统中的时间处理操作 Linux嵌入式系统广泛应用于各种嵌入式设备,包括智能手机、路由器、物联网设备等。时间处理在嵌入式系统中是一个重要的任务,涉及到时间获取、时间同步、时间计算等方面。本文将介绍Linux下嵌入式系统中常见的时间处理操作,并提供相应的源代码示例。命令行工具或者通过编程方式来设置系统时间。下面是一个通过编程方式设置。函数来获取当前系统时间。函数将本地时间格式化为字符串并打印出来。函数返回当前系统时间的秒数,然后使用。函数将其转换为本地时间表示。在Linux下,可以使用。在Linux下,可以使用。 阅读详情

相关推荐

CORS(跨域资源共享)漏洞解决方法

最近,测试环境上的项目被360测试人员检测出来有一个CORS漏洞,以下记录下漏洞问题与解决方法。 一、低危漏洞:CORS漏洞问题 测试人员访问某个url,将请求头中的Origin字段修改为任意值,结果仍然能获得正确的响应报文,就说明有CORS漏洞。 当CORS的设置不正确时,就会带来安全问题;当响应头中的Access-Control-Allow-Origin设置为null或*时,表示信任任何域,这时候就可能引入安全问题。 修复方法是合理配置CORS,判断Origin是否合法;具体说就是不让在nginx或t

BHSZZY的博客 3万+

ESXI修改时间

    服务器安装ESXI后,经常遇到里面安装的虚拟机系统时间快8小时,手动修改正确后一旦打快照或者关机重启等,虚拟机时间又同步出错,尤其是此虚拟机无法连网同步网络时间的情况下。主要是因为虚拟机会自动同步主机时间,如下图所示:系统信息–主机上日期/时间显示的时间快8小时,因为ESXI服务器默认使用UTC时区,而中国标准时间CST=UTC/GMT +8 小时。...

weixin_48544396的博客 2万+

Python自动化神器:5分钟搞定PSCAD仿真波形图导出到Word(附WPS兼容方案)

本文介绍如何利用Python自动化库快速将PSCAD仿真波形图导出到Word或WPS,大幅提升电力系统仿真工程师的工作效率。通过精准坐标定位、智能排版和批量处理功能,实现仿真报告的自动化生成,同时提供WPS兼容方案,适用于不同办公环境。

sony5的博客 207

esxi时区设置 +8_初始设置

NS首次开机设定1、按电源键开机,如图从上往下插入左右手柄(滑到底听到咔的一声卡紧)2、选择语言,最好繁体中文/English(兼容性最好),系统语言没有中文3、点击OK确认4、选择地区(可随意选)5、勾选accept接受,然后点next继续6、选择wifi连接7、输入wifi密码8、连接成功,点OK继续9、选择时区(可随意选)10、设置日期和时间11、提示连接电视,选择later稍后12、按住手...

weixin_39563420的博客 2510

惯性导航原理(九)-INS的初始对准-初始姿态确定+双矢量定姿

文章目录INS的初始对准INS初始化静基座/静态粗对准静态粗对准—加速度计调平原理加速度计调平静态粗对准—陀螺罗盘思考初始对准的影响因素双矢量定姿原理静态解析粗对准—双矢量定姿静态解析粗对准(续)其它初始对准方法精对准动对准 INS的初始对准 INS的初始对准为初始化的一部分 INS初始化 初始位置: 给定(INS没有初始位置确定的能力,例如从GPS ) 初始速度: 零(静止状态)或给定 初始姿态: 初始对准(INS有能力自己测资态) 粗对准vs. 精对准 静止状态vs. 运动状态 重要性: 失之毫厘,谬

十八与她的博客 1万+

5分钟搞定三网话费余额查询:手把手教你用PHP+HTML搭建查询系统(含API调用避坑指南)

本文详细介绍了如何使用PHP+HTML快速搭建三网话费余额查询系统,涵盖API调用避坑指南、前端UI设计及性能优化。通过统一处理移动、电信、联通三大运营商接口差异,实现高可用查询功能,并提供安全防护与生产部署建议,帮助开发者高效构建稳定可靠的话费查询工具。

weixin_29016833的博客 259

docker修改时区

1、date查看当前时间 2、复制 /usr/share/zoneinfo/Asia/Shanghai 到 /etc/localtime docker cp /usr/share/zoneinfo/Asia/Shanghai 8b3de3fc57b0:/etc/localtime 3、再次date查看时间是否已经改为cts时区 4、重新提交镜像 docker commit -m "修改时区为中国上海" 8b3de3fc57b0 abc/def:v1.0 -m:来指定提交的说明信息 ...

qq_33372924的博客 1193

Sinutrain下载安装与开启OPC UA---kalrry

Sinutrain 开启 OPC UA 本教程只适用于版本,其他版本配置目录有所改变建议安装到默认路径,否则后期修改路径时候容易忽略细节本教程提供安装包为官方包,网上有些非官方包安装后容易出现授权问题,比如授权管理器无法启动,官方技术会建议你重装系统,很多时候是因为安装包非官方包在首次安装前,建议重启一遍系统。

kalrry 1万+

linux环境下时区无法设置(Asia/Shanghai (UTC, 0000))的问题解决

在进行linux下修改时区的时候 总是修改不了 修改成 Asia/Shanghai但是 时区总是 +0000 却不是想要的+0800 按照网上的方法 A : tzselect:执行tzselect命令-->选择Asia-->选择China-->选择east China - Beijing, Guangdong, Shanghai, etc-->然后输入1。 B...

h952520296的博客 9473

工业组态软件Intouch(单机版)入门{第一篇}

通俗来讲Intouch就是一个能将PLC里的信号显示在画面上的软件。

weixin_41571357的博客 1万+

组态王与SqlServer数据库交互总结

组态王可以与SqlServer、mysql、acess、oracle等数据库进行数据交互。 本文重点梳理了如何把组态王中的数据保存到SqlServer数据库中,并使用ADO控件对数据库中的数据进行查询。 一、数据存到SQL数据库 1.新建记录体 2、创建表格模板(用于创建数据库中的表格) 3、打开sqlserver,新建数据库 4、创建ODBC数据源 选择自己新建的数据库 5.使用SQLConnect函数连接数据库,SQLCraetTable函数用于在数据库中创建表格 6.使用

逍遥子的博客 2万+

linux设置系统时间_linux嵌入式系统设置时间

点击上方蓝字可直接关注!方便下次阅读。如果对你有帮助,麻烦点个在看或点个赞,感谢~仰望星空的烟火。。。。。。。。。。。。。。。。。。。可以缓解颈椎疼痛有时程序对系统时间有要求,这时需要设置系统的时区以及时间了。1.使用date指...

weixin_29149577的博客 404

Logstash安装部署

1. 部署及安装所用的用户不能是root。

lmj3732018的博客 4294

esxi时区设置 +8_linux嵌入式系统设置时间

点击上方蓝字可直接关注!方便下次阅读。如果对你有帮助,麻烦点个在看或点个赞,感谢~仰望星空的烟火。。。。。。。。。。。。。。。。。。。可以缓解颈椎疼痛有时程序对系统时间有要求,这时需要设置系统的时区以及时间了。1.使用date指...

weixin_39574388的博客 1107

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

嵌入式linux通过程序设置系统时间,嵌入式Linux系统下时间的实现

看了这篇文章,我决定今天去玩玩板子上的RTC模块首先,明确一个问题:1、嵌入式系统板子上的时间是用date标准系统命令查看的,date是SHELL命令,例如busybox或者uClinux上的sash等。这个时间是有运行起来的嵌入式LINUX软件维护的,其实就是内存中的一个全局变量,LINUX默认启动给这个全局变量赋值就是19700101这样的数值。2、RTC芯片(很多是嵌入式处理器内置RTC模块...

weixin_42358594的博客 571

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

关于linux的系统时间

一句话总结:/etc/localtime 决定了你的时区,如果没有这个文件,系统将设置成utc(0时区)的时间。 这些配置文件在/usr/shara/zoneinfo中,for example 北京时间 /usr/share/zoneinfo/Asia/Shanghai,将这个文件拷贝到/etc/localtime就可以正确设置自己的时区了。 第二点,就是时间戳,tim...

qq_16810885的博客 638

嵌入式linux 时区,嵌入式Linux系统下时间的实现

首先,明确一个问题:本文引用地址:http://www.eepw.com.cn/article/201610/305758.htm1、嵌入式系统板子上的时间是用date标准系统命令查看的,date是SHELL命令,例如busybox或者uClinux上的sash等。这个时间是有运行起来的嵌入式LINUX软件维护的,其实就是内存中的一个全局变量,LINUX默认启动给这个全局变量赋值就是1970010...

weixin_36226933的博客 226

RTC,Linux修改及查看硬件时间

#include <stdio.h> #include <unistd.h> #include <stdlib.h> #include <fcntl.h> #include <linux/rtc.h> #include <sys/time.h> #include <sys/ioctl.h> int main(int argc ,char *argv[]) { ...

Cessi的博客 1205

嵌入式Linux中时区的修改

1、使用NTP对时,ntpdate + IP 成功后,通过 date 指令查看系统时间,比服务器时间晚了8小时。系统时间 2018-3-1 08:18:52,服务器时间实际是 16点。2、什么原因会造成时间差8小时呢?考虑到是时区的问题,查询系统当前的时区设置 date -R,看到系统是 +0000 时区,而中国统一采用北京所在的东8时...

草原骑士的专栏 1013

让Linux下位机跟Windows上位机自动时间同步

需求来源 嵌入式系统通常分上位机和下位机,如果二者的日志时间戳能一致,则对定位问题价值巨大。另外有些原型系统的RTC时钟没装电池,更需要从外部获取真实时间,否则每次开机都是1970年1月1号。 如果能够让下位机每次开机都跟上位机对一次时,即同步一下时间,则可满足上述需求,那么怎么对时呢? 解决方案:NTP NTP又叫网络时间协议,是一种用于时间同步的网络协议。 配置Windows为NTP服务器 Linux和Windows都有NTP客户端,但是Windows作为上位机,必须还得具备NTP服务器的能力,幸好,

六个九十度 2259

一步步完善rootfs:5.设置系统时间

rootfs设置系统时间

星迹 573

嵌入式linux 获取时间秒,嵌入式 Linux时间函数

一、时间相关说明格林威治时间表示0时区的标准时间。其他时区的时间和此标准时间均有时间差。UTC(Universal TimeCoordinated)是世界协调时间,是格林威治时间在互联网中的表示方法二、标准C语言时间函数1、time(取得本地目前的时间秒数)#includetime_t time(time_t *t);函数说明此函数会返回从公元1970年1月1日的UTC时间从0时0分0秒(Epo...

weixin_28465009的博客 704

关于设置date打印系统时间的,时区,时间校准

关于设置date打印系统时间的,时区,时间校准 date命令可以打印linux系统的时间,但是对于嵌入式的阉割系统,有时候仅仅去拷贝一个shanghai文件去/etc/localtime是不行的。 TZ环境变量:零时区时间 可通过export TZ=CST-8 设置为东八区(中国北京时间),减8是因为零时区比东八区晚8个小时。 可以加在/etc/profile文件中 也可以写到/etc/rc.local里随自启动初始化 附加打印时间的脚本: #!bin/sh while true do startti

ruipeng_liu的博客 1126

linux ntpdate交叉编译,arm移植NTP(同步嵌入式linux系统时间)

一、说明网络时间协议Network Time Protocol(NTP)是一种确保时钟保持准确的方法。如果可以访问互联网,只需安装ntp的客户端软件到互联网上的公共ntp服务器自动修正时间即可二、准备工作1、ntp源码包:ntp-dev-4.3.91.tar.gz(可下载地址:)2、交叉编译工具:arm-none-linux-gnueabi-gcc 4.7.33、编译环境Ubuntu 13.0...

weixin_39832829的博客 1107

Linux看门狗应用编程

前面已经说到,看门狗其实就是一个可以在一定时间内被复位/重置的计数器,一般叫做看门狗计时器(或看门狗定时器);如果在规定时间内没有复位看门狗计时器,计数器溢出则会对 CPU 产生一个复位信号使系统重启,当然有些看门狗也可以只产生中断信号而不会使系统复位。I.MX6UL/I.MX6ULL SoC 集成了两个看门狗定时器(WDOG):WDOG1 和 WDOG2;WDOG2 用于安全目的,而 WDOG1 则是一个普通的看门狗,支持产生中断信号以及复位 CPU。

qq_28576837的博客 2095

Ubuntu版本,设置嵌入式每天自动重启

二.按esc返回命令模式,然后按:进入底部命令模式,输入wq 保存退出, 需要把当前文件改为安全的权限,不然会执行失败(sudo chmod 600 anacron);按:进入底部命令模式,q!三:时间同步/时间同步成功,再进/etc/cron.d/anacron重新设置时间,保存后修改为安全的权限进行测试;背景:嵌入式也是Linux系统,里面有自带定时任务的文件,在里面添加时间的命令系统自动就会执行;定时任务的文件位置:/etc/cron.d/anacron 这个路径不一定,不同版本稍有不同。

qq_52050337的博客 984
上一篇: 偶有所感
下一篇: 2020-09-19
Pou光明
博客等级 码龄12年 3701粉丝 398原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值