datetime.date()_datenum函数使用

datetime.date()_datenum函数使用比如在windowscmd命令行窗口执行date命令后这个环境变量的值为当前日期:2014-03-01 星期六那么如下的各个操作的意义如下:%date:~0,4% 表示从左向右指针向右偏0位,然后从指针偏移到的位置开始提取4位字符,结果是2014(年的值)%date:~5,2% 表示指针从左向右偏移5位,然后从偏移处开始提取2位字符,结果是03(月的值)%date:~8,

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

比如在windowscmd命令行窗口执行date命令后这个环境变量的值为

当前日期:2014-09-01 星期六 或2014/09/01 周六

那么如下的各个操作的意义如下:
%date:~0,4% 表示从左向右指针向右偏0位,然后从指针偏移到的位置开始提取4位字符,结果是2014(年的值)
%date:~5,2% 
表示指针从左向右偏移5位,然后从偏移处开始提取2位字符,结果是03(月的值)
%date:~8,2% 
表示指针从左向右偏移8位,然后从偏移处开始提取2位字符,结果是01(日的值)
%date:~5%   
表示指针从左向右偏移5位,然后提取所有的值
%date:~-5%  
表示指针反方向偏移,从最右端开始,偏移5位,然后从指针处提取左边的所有数值。

注意:“2014-09-01星期六是个字符串,在计算机里指针是从0开始计数的,所以这串字符的指针意义上的第5位是0,月份的0,取两位刚好是03.

同理,比如当前系统的time变量的值如下:

当前时间: 11:36:56.63

那么如下的各个操作的意义如下:
%time:~0,2%  表示从左向右指针向右偏0位,然后从指针偏移到的位置开始提取2位字符,结果是小时字段数值
%time:~3,2% 
表示指针从左向右偏移3位,然后从偏移处开始提取2位字符,结果是分钟字段数值
%time:~6,2% 
表示指针从左向右偏移6位,然后从偏移处开始提取2位字符,结果是秒字段数值

//创建时间命名的文件夹

md d:\%date:~0,4%%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%%time:~6,2%


——–分析————

从set /?中提取的有关帮助: 

    %PATH:str1=str2%
会扩展 PATH 环境变量,用 “str2” 代替扩展结果中的每个 “str1″。
要有效地从扩展结果中删除所有的 “str1″,”str2” 可以是空的。
“str1″ 可以以星号打头;在这种情况下,”str1” 会从扩展结果的
开始到 str1 剩余部分第一次出现的地方,都一直保持相配。


也可以为扩展名指定子字符串。
    %PATH:~10,5% 
会扩展 PATH 环境变量,然后只使用在扩展结果中从第 11 个(偏 
移量 10)字符开始的五个字符。如果没有指定长度,则采用默认 
值,即变量数值的余数。如果两个数字(偏移量和长度)都是负数, 
使用的数字则是环境变量数值长度加上指定的偏移量或长度。 
    %PATH:~-10% 
会提取 PATH 变量的最后十个字符。 
    %PATH:~0,-2% 
会提取 PATH 变量的所有字符,除了最后两个。


———————————-

用%time:~0,2%%time:~3,2%%time:~6,2%时有个问题, 就是如果TIME 是00点的时候,电脑显示的是0 不是00所以TIME 0~2 就报错了。

例子:时间9:42:17

set fileDate=%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%

for /f “tokens=1,2 delims=:” %%i in (‘time/t’) do set t=%%i%%j

set fileDate2=%date:~0,4%%date:~5,2%%date:~8,2%%t:~0,4%%time:~6,2%

echo fileDate:%fileDate%

echo fileDate2:%fileDate2%

fileDate:20150112 94217(9前面是空格)
fileDate2:20150112094217

还有些设备的date显示是12/12/2015 周一

所以用以下方法格式化

set date=%date:~0,10%
set date=%date:-=%   //去掉日期中的-
set date=%date:/=%   //去掉日期中的/
set time=%time:~0,8%
set time=%time::=%   //去掉时间中的:

if “%time:~0,1%”==” ” set “time=0%time:~1%”




版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/191231.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 2021 goland 激活码 3月最新注册码

    2021 goland 激活码 3月最新注册码,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月14日
    47
  • DrawerLayout详解「建议收藏」

    DrawerLayout详解「建议收藏」drawerLayout是SupportLibrary包中实现了侧滑菜单效果的控件,可以说drawerLayout是因为第三方控件如MenuDrawer等的出现之后,google借鉴而出现的产物。drawerLayout分为侧边菜单和主内容区两部分,侧边菜单可以根据手势展开与隐藏(drawerLayout自身特性),主内容区的内容可以随着菜单的点击而变化(这需要使用者自己实现)。

    2022年6月16日
    30
  • C#实现一个局域网文件传输工具

    C#实现一个局域网文件传输工具工作需要,经常会在工作的台式机和笔记本之间传文件或者需要拷贝文本,两个机器都位于局域网内,传文件或者文本的方式有很多种,之前是通过共享文件夹来进行文件的拷贝,或者通过SVN进行同步。文本传递比较简单,可以通过两台机器上装QQ登两个号码,或者在共享目录下建一个TXT,或者发电子邮件等等。不过上面这些方法总觉得不直接,所以想基于P2P做一个小的局域网文件和文字传输小工具。WinForm的工程,

    2022年6月3日
    38
  • InnoDB数据库隔离级别

    InnoDB数据库隔离级别事务隔离级别分为四种(级别递减):1、Serializable(串行化):最严格的级别,事务串行执行,资源消耗最大;2、REPEATABLEREAD(重复读):保证了一个事务不会修改已经由另一个事务读取但未提交(回滚)的数据。避免了“脏读取”和“不可重复读取”的情况,但不能避免“幻读”,但是带来了更多的性能损失。3、READCOMMITTED(提交读):大多数主流数据库的默认事…

    2022年5月18日
    30
  • linux一些常用命令_运行命令

    linux一些常用命令_运行命令Linux常用命令大全第一章Linux基础命令【1】linux-》ls【2】linux-》alias【3】linux-》cd【4】linux-》clear【5】linux-》date【6】linux-》dpkg【7】linux-》echo【8】linux-》man手册【9】linux-》pwd【10】linux-》sort【11】linux-》uniq【12】linux-》which【13】linux-》管道|第二章Linux文件管理命令【14】linux-》cat

    2022年9月16日
    1
  • 字符串类型的时间和时间类型的相互转换

    字符串类型的时间和时间类型的相互转换publicstaticDategetDate(StringsDate)throwsException{Datedate=newDate(); SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-dd");  //要转换的格式SimpleDateFormatsdf2=newSimpleDateFormat("yyy…

    2022年5月15日
    31

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号