我有2个运行SQL Server 2008的服务器,我有以下查询:
SELECT cast('13/1/2011' as datetime)
Run Code Online (Sandbox Code Playgroud)
如果我在服务器A上执行此查询,我会得到结果:
2011-01-13 00:00:00.000
Run Code Online (Sandbox Code Playgroud)
但是,如果我在服务器B上执行此操作,我会得到结果:
将varchar数据类型转换为日期时间数据类型会导致超出范围的值.
我认为这是一个英国/美国的日期格式问题,因为我没有得到错误,12/1/2011但它确实返回2011-12-01 00:00:00.000
如何让服务器B获得与服务器A相同的结果?需要更改什么设置以及在哪里?
我有几个月的短版本:JAN, FEB, MAR等等
并希望将它们转换为相应的数值:1, 2, 3等
此外,我希望能够在数字月份值,"短"月份名称(JAN, FEB, MAR)和它的长版本(January, February, March等等)之间来回切换.
注意:正如@ dipu-raj指出的那样,这不是重复的,因为我从数字中 询问与MySQL MONTHNAME()相反的情况,并且答案也是不同的,因为它需要不同的函数
我想使用javascript的toISOString()函数并忽略时区.
var someDate; // contains "Tue May 26 2015 14:00:00 GMT+0100 (Hora de Verão de GMT)"
dateIWant = someDate.toISOString(); // turns out "2015-05-26T13:00:00.000Z"
Run Code Online (Sandbox Code Playgroud)
要转换的日期Tue May 26 2015 14:00:00 GMT+0100 (Hora de Verão de GMT),但转换后的日期2015-05-26T13:00:00.000Z.
因此,我需要日期,yyyy-MM-ddTHH:mm:ss:msZ但正如您在上面所见,它应用时区并将小时从14更改为13.
怎么做到这一点?
编辑
我正在研究一个C#MVC项目,我可以按原样发送日期并在C#中对其进行操作.这是我目前的解决方案,但我正在寻找客户端方案.
我正在尝试使用timeago(http://timeago.yarp.com/)并找到了使用php将时间戳从MYSQL转换为ISO-8601的解决方案.
date('c',strtotime($TimeStamp));
Run Code Online (Sandbox Code Playgroud)
这工作正常,除了我在结束时获得时区偏移
2011-07-10T08:46:50-**05:00**
Run Code Online (Sandbox Code Playgroud)
我想要的是什么 2011-07-10T08:46:50Z
有没有人有解决方案或知道为什么我得到时区偏移?
我想在golang中将日期格式转换2010-01-23 11:44:20为Jan 23 '10 at 11:44.我从时间包中尝试了一些功能,但无法实现.
有人可以帮我吗?
试过很多选择,但都失败了.被迫在这里问.我的日期/时间是1/1/2016 0:00格式.
所以,我试过了
start.time <- citi.bike$starttime
head(start.time)
start.date <- strftime(as.Date(start.time), format="%m/%d/%Y")
head(start.date)
Run Code Online (Sandbox Code Playgroud)
我不知道为什么,但我的日期看起来像 "01/20/0001""01/20/0001""01/20/0001""01/20/0001""01/20/0001""01/20/0001".
所有的日子都变成了"20".
为什么?
我想从 Active Directory 读取时间戳并将其与在 JS 中创建的其他日期进行比较。从 AD 开始,我以 18 位数字 ( time in 100 nanoseconds since Jan 1, 1601 UTC) 的形式获取日期。JavaScript 使用 13 位数字 ( time in miliseconds since Jan 1, 1970 UTC)形式的日期数字。
是否已经实现了转换功能,或者您将如何转换它?
我正在尝试将utf-8DataFrame 中的列转换为YYYY-MM-DD. 如何将不同的日期格式转换为一种格式YYYY-MM-DD?
s = pl.Series("date",\\["Sun Jul 8 00:34:60 2001", "12Mar2022", "12/Mar/2022"\\])\n\ndf=s.to_frame().with_columns(pl.col("date").str.strptime(pl.Date,fmt=('%d%m%Y' ), strict=False)) \n\nprint(df)\n\n\xe2\x94\x8c\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x90\n\n\xe2\x94\x82 date \xe2\x94\x82\n\n\xe2\x94\x82 --- \xe2\x94\x82\n\n\xe2\x94\x82 date \xe2\x94\x82\n\n\xe2\x95\x9e\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\xa1\n\n\xe2\x94\x82 null \xe2\x94\x82\n\n\xe2\x94\x82 null \xe2\x94\x82\n\n\xe2\x94\x82 null \xe2\x94\x82\n\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x98\nRun Code Online (Sandbox Code Playgroud)\n 我想投一个列smalldatetime从varchar。有些行包含错误,如何找到它们?
SELECT
PA.EAR_TAG
,ISNULL(B.DISPOSAL_DATE, H.DISPOSAL_DATE) as HB_Date
,Y.[DATE OF MOVEMENT] as Y_Date
,DATEDIFF(DAY, ISNULL(B.DISPOSAL_DATE, H.DISPOSAL_DATE), cast(Y.[DATE OF MOVEMENT] as smalldatetime))
FROM
DairyTelomere.dbo.PROJECT_ANIMALS AS PA
LEFT JOIN
Langhill.dbo.YOUNG_STOCK_BULL AS B ON Pa.EAR_TAG = B.EAR_TAG
LEFT JOIN
Langhill.dbo.YOUNG_STOCK_HEIFER AS H ON PA.EAR_TAG = H.EAR_TAG
LEFT JOIN
DairyTelomere.dbo.Young_Stock_culls AS Y ON PA.EAR_TAG = Y.Ear_Tag
Run Code Online (Sandbox Code Playgroud)
我得到的错误是:
消息242,级别16,状态3,行1
将varchar数据类型转换为smalldatetime数据类型导致超出范围的值。
我知道,如果该列采用日期格式,则可以使用来检查它,ISDATE()但是很遗憾,我无法更改列类型(没有权限)。
任何想法将不胜感激。
我的字符串格式为:“ dd / mm-yyyy”,其中dd是用两位数表示的月份中的月份,mm是用两位数表示的月份,而yyyy是用四位数字表示的年份。
我需要将其存储在数据库中。我试过了
$dato = date('d/m-Y' ,strtotime($_POST['dag'] )
Run Code Online (Sandbox Code Playgroud)
但这显然行不通。在我的数据库中,日期显示为yyyy-mm-dd。如何将字符串正确转换为正确的格式?
date-conversion ×10
date ×4
date-format ×2
datetime ×2
javascript ×2
mysql ×2
php ×2
time ×2
format ×1
go ×1
ldap ×1
python ×1
r ×1
sql ×1
sql-server ×1
timestamp ×1