典型例子
要得到结果: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())