美文网首页
time的格式化

time的格式化

作者: Mrgz | 来源:发表于2018-01-02 23:36 被阅读0次

    典型例子

    要得到结果:2018-01-02 23:28:20
    
    C#
    DataTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
    
    Python
    time.strftime('%Y-%m-%d %H:%M:%S', time.localtime()) 
    
    SQL Server
    SELECT CONVERT(varchar(100), GETDATE(), 120)
    

    如果例子不够用,往下翻


    C#

    示例代码

    DataTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
    结果:2018-01-02 23:27:54
    

    d 月内中的某一天。
    dd 月内中的某一天。一位数的日期有一个前导零。
    ddd 周中某天的缩写名称,在 AbbreviatedDayNames 中定义。
    dddd 周中某天的完整名称,在 DayNames 中定义。
    M 月份数字。一位数的月份没有前导零。
    MM 月份数字。一位数的月份有一个前导零。
    MMM 月份的缩写名称,在 AbbreviatedMonthNames 中定义。
    MMMM 月份的完整名称,在 MonthNames 中定义。
    y 不包含纪元的年份。假如不包含纪元的年份小于 10,则显示不具有前导零的年份。
    yy 不包含纪元的年份。假如不包含纪元的年份小于 10,则显示具有前导零的年份。
    yyyy 包括纪元的四位数的年份。
    gg 时期或纪元。假如要设置格式的日期不具有关联的时期或纪元字符串,则忽略该模式。
    h 12 小时制的小时。一位数的小时数没有前导零。
    hh 12 小时制的小时。一位数的小时数有前导零。
    H 24 小时制的小时。一位数的小时数没有前导零。
    HH 24 小时制的小时。一位数的小时数有前导零。
    m 分钟。一位数的分钟数没有前导零。
    mm 分钟。一位数的分钟数有一个前导零。
    s 秒。一位数的秒数没有前导零。
    ss 秒。一位数的秒数有一个前导零。
    f 秒的小数精度为一位。其余数字被截断。
    ff 秒的小数精度为两位。其余数字被截断。
    fff 秒的小数精度为三位。其余数字被截断。
    ffff 秒的小数精度为四位。其余数字被截断。
    fffff 秒的小数精度为五位。其余数字被截断。
    ffffff 秒的小数精度为六位。其余数字被截断。
    fffffff 秒的小数精度为七位。其余数字被截断。

    分解

    DateTime.Now.Year;
    DateTime.Now.Month;
    DateTime.Now.Day;
    DateTime.Now.Hour;
    DateTime.Now.Minute;
    DateTime.Now.Second;
    

    Python

    time.strftime('%Y-%m-%d %H:%M:%S', time.localtime()) 
    结果:2018-01-02 23:28:20
    

    %y 两位数的年份表示(00-99)
    %Y 四位数的年份表示(000-9999)
    %m 月份(01-12)
    %d 月内中的一天(0-31)
    %H 24小时制小时数(0-23)
    %I 12小时制小时数(01-12)
    %M 分钟数(00=59)
    %S 秒(00-59)
    %a 本地简化星期名称
    %A 本地完整星期名称
    %b 本地简化的月份名称
    %B 本地完整的月份名称
    %c 本地相应的日期表示和时间表示
    %j 年内的一天(001-366)
    %p 本地A.M.或P.M.的等价符
    %U 一年中的星期数(00-53)星期天为星期的开始
    %w 星期(0-6),星期天为星期的开始
    %W 一年中的星期数(00-53)星期一为星期的开始
    %x 本地相应的日期表示
    %X 本地相应的时间表示
    %Z 当前时区的名称
    %% %号本身

    分解

    time.localtime(time.time())
    可以得到
    time.struct_time(tm_year=2018, tm_mon=1, tm_mday=2, tm_hour=23, tm_min=43, tm_sec=49, tm_wday=1, tm_yday=2, tm_isdst=0)
    

    SQL Server

    SELECT CONVERT(NVARCHAR(100), GETDATE(), 120)
    结果:2018-01-02 23:30:35
    

    格式对应结果
    1,01/02/18
    2,18.01.02
    3,02/01/18
    4,02.01.18
    5,02-01-18
    6,02 Jan 18
    7,Jan 02, 18
    8,23:30:30
    9,Jan 2 2018 11:30:30:560PM
    10,01-02-18
    11,18/01/02
    12,180102
    13,02 Jan 2018 23:30:31:260
    14,23:30:31:453
    20,2018-01-02 23:30:31
    21,2018-01-02 23:30:31.823
    22,01/02/18 11:30:31 PM
    23,2018-01-02
    24,23:30:32
    25,2018-01-02 23:30:32.800
    100,Jan 2 2018 11:30PM
    101,01/02/2018
    102,2018.01.02
    103,02/01/2018
    104,02.01.2018
    105,02-01-2018
    106,02 Jan 2018
    107,Jan 02, 2018
    108,23:30:34
    109,Jan 2 2018 11:30:34:470PM
    110,01-02-2018
    111,2018/01/02
    112,20180102
    113,02 Jan 2018 23:30:35:133
    114,23:30:35:290
    120,2018-01-02 23:30:35
    121,2018-01-02 23:30:35.613
    126,2018-01-02T23:30:35.813
    130,15 ربيع الثاني 1439 11:30:35:970PM(神奇的结果)
    131,15/04/1439 11:30:36:150PM

    顺便补上得到以上结果的部分python语句

    sql = "SELECT CONVERT(NVARCHAR(100), GETDATE(), %s)"
    
    nums = []
    nums.extend(range(1, 15))
    nums.extend(range(20, 26))
    nums.extend(range(100, 115))
    nums.extend((120, 121, 126, 130, 131))
    for i in nums:
        result = db.query(sql % i)
        print("%s,%s" % (i, result[0][0]))
    

    分解:

    SELECT YEAR(GETDATE()),DATENAME(YEAR,GETDATE())
    SELECT MONTH(GETDATE()),DATENAME(MONTH,GETDATE())
    SELECT DAY(GETDATE()),DATENAME(DAY,GETDATE())
    SELECT DATENAME(HOUR,GETDATE())
    SELECT DATENAME(MINUTE,GETDATE())
    SELECT DATENAME(SECOND,GETDATE())
    

    相关文章

      网友评论

          本文标题:time的格式化

          本文链接:https://www.haomeiwen.com/subject/fclcnxtx.html