Tag: datetime

将datetimestring转换为有效的date值和有效的时间值

此代码作为转换的无效date返回: '2014年9月10日星期三上午06:53' VBA IsDate函数用于检查expression式是否为Date或expression式可以转换为有效的Date或Time 。 该函数返回true或false 。 我怎样才能使date有效? '—————————————– Dim x As Integer x = ActiveCell.Row '—————————————– Dim vDate As Variant vDate = "Wednesday, September 10, 2014 6:53 AM" MsgBox vDate MsgBox IsDate(vDate) 'retuns false '—————————————– Dim fDAT As String fDAT = Left(vDate, Len(vDate) – 7) MsgBox fDAT MsgBox IsDate(fDAT) 'retuns false '—————————————– ''ActiveSheet.Range("a" & […]

错误的date时间格式从RadGridView复制/粘贴到Excel中时

从Telerik的RadGridView复制行到excel时,我有一个奇怪的问题,问题必须与一个DateTime列。 RadGridView中的列具有正确的格式: 06/17/2016 02:30 PM 但是,当用户复制行并将其粘贴到Excel中时,格式会被搞乱: 2016-06-16 14:30 PM //24hr format with PM period lol 我已经注意到,问题只发生在小于12的值上,例如,如果值是06/17/2016 08:54 AM ,它将被粘贴到excel格式正确。 所以认为它与格式我手动设置列的格式string与下面的代码: dgv_history.Columns["Repair Date"].FormatString = "{0:MM/dd/yyyy HH:mm}"; 我也试过了 dgv_history.Columns["Repair Date"].FormatString = "{0:MM/dd/yyyy hh:mm tt}"; 但是这些代码行只会改变date在RadGridView中的显示方式,如果我尝试复制/粘贴到Excel中,问题依然存在。 这是一旦粘贴到excel中的样子: 2016-06-16 13:57 PM 2016-06-16 13:31 PM 6/16/2016 12:55 6/16/2016 12:33 6/16/2016 12:22 6/16/2016 11:48 6/16/2016 11:19 我能做些什么来解决这个问题呢?这是一个错误吗?我一直在search他们的文档,但我仍然找不到任何相关的东西。 谢谢 更新06/20/2016 12:15 看起来,这是RadGridView的一个正常function,正如在这个演示页面http://docs.telerik.com/devtools/winforms/gridview/copy-paste-cut中所看到的,结果和这个问题中描述的一样。

VBA用户表单date/时间戳记 – 复制到单元格时,英国date更改为美国格式

我有一个用户窗体的date和时间戳记dd / mm / yyyy hh:mm:ss。 它在英文格式显示在文本框中,并使用此代码生成它: Dim iNow Dim d(1 To 6) Dim i As Integer iNow = Now d(3) = Year(iNow) d(2) = Month(iNow) & "/" d(1) = Day(iNow) & "/" d(4) = Hour(iNow) & ":" d(5) = Minute(iNow) & ":" d(6) = Second(iNow) For i = 1 To 6 If d(i) < […]

在Java中expressionExcel公式(十进制到时间解释)

我将Excel工作表公式转换为java,但是我不明白excel如何pipe理以下内容:0.22应用公式:= TEXT(R5 / 14,“h:mm”),并以某种方式到达:0.22 同样,如果我提供:2.8到达4.48有人可以向我解释它是如何做到这一点。 我已经读了一点关于小数,我理解转换,但这还没有帮助解释上述。

在Excel代码中操作date

Excel工作表中的列以这种格式保存月份: Oct_2010 我想要做的是,得到那个月份的最后一个date。 我想我会做的是,读单元格中的月份,获得下个月的第一天,然后减去一天,所以我得到了上个月的最后一个date。 但是,我怎么能得到Excel(VBA代码)阅读Oct_2010 2010年10月?

date格式dd:mm:yy:hh:mm:ss到dd / mm / yh h:mm:ss

我想使用VBA将格式为dd:mm:yy:hh:mm:ss的文件中存储的date转换为可用于在Excel中使用VBA进行sorting的文件。 我找不到任何紧凑的东西。 我已经尝试了文本到列,然后将分离出来的值重新组合到一个date和时间,但这对于大数据文件来说很麻烦而且很慢。 任何人都知道一个可以使用的快速方法??

CFSpreadsheetdate格式问题

我在本地运行ColdFusion 10,并运行最近从Oracle转换到MSSQL的数据库。 我想要做的是从数据库输出数据到电子表格使用cfspreadsheet。 表中有3列,其中包含date/时间戳。 问题1:代码在转换之前工作正常,但在转换之后,所有date/时间标记以科学记数法格式显示。 我试着修改我的CFQUERY与转换转换,但所有这一切是显示date/时间戳记字段为'YYYY / MM / DD',而不是我的预期格式是'MM / DD / YYYY HH:MM AM / PM “。 当我在Excel中双击单元格时,我看到了正确的格式,但默认情况下显示为“YYYY / MM / DD”。 这里有什么build议? 问题#2:如果应该使用我指定的date/时间格式的列或特定单元格为空或空,我收到一个“是无效的date或时间string错误。 这是我在我的cfquery中使用CAST / CONVERT的内容: ,CAST(CONVERT(varchar(20), GYMSTARTDATE, 22) AS datetime) AS GymStartDateTime ,CAST(CONVERT(varchar(20), GYMENDDATE, 22) AS datetime) AS GymEndDateTime

在Python中使用xlrd从Excel中读取date时,date时间随机成为浮动

我正在使用xlrd模块的Python脚本从我保存在我的电脑上的Excel文件中读取date。 现在,我已经知道Excel将date保存为一个序列date,它计算1900年1月0日以来的天数。我一直使用datetime函数将这个数字转换成一个YYYY-MM-DDforms的date对象。 例如: v_created = sh.cell(r,created_col).value if not v_created: v_created = 0 elif not isinstance(v_created, basestring): v_created = datetime.date(1900, 1, 1) + datetime.timedelta(int(v_created)-2) print 'Create ' print v_created 这将打印下面的输出: Create 2013-09-26 另一方面,下一个代码块应该做同样的事情,但是把一个浮点数放到variables中,而不是一个date: v_updated = sh.cell(r,updated_col).value if not v_updated: v_updated = 0 elif not isinstance(v_updated, basestring): v_upated = datetime.date(1900, 1, 1) + datetime.timedelta(int(v_updated)-2) print 'Updated ' […]

使用OpenXML和C#,Integers和DateTime导出到Excel

我正在写一个应用程序,应该从地图应用程序导出数据。 此应用程序正在使用Silverlight,并方便导出到Excel我正在使用此库。 所有的数据默认都以string表示。 当我写电子表格时,我尝试parsing每个string,看看它是哪种types: string str = kvp.Value; int i = 0; long l = 0; decimal dec = 0; DateTime dt; if (int.TryParse(str, out i)) doc.Workbook.Sheets[0].Sheet.Rows[r].Cells[c].SetValue(i); else if (decimal.TryParse(str, out dec)) doc.Workbook.Sheets[0].Sheet.Rows[r].Cells[c].SetValue(dec); else if (long.TryParse(str, out l)) doc.Workbook.Sheets[0].Sheet.Rows[r].Cells[c].SetValue(l); else if (DateTime.TryParse(str, out dt)) doc.Workbook.Sheets[0].Sheet.Rows[r].Cells[c].SetValue(dt); else doc.Workbook.Sheets[0].Sheet.Rows[r].Cells[c].SetValue(str); 这很好,除了DateTime,当我试图parsing一个社会安全号码,在我的情况是12个字符长。 社会安全号码被parsing为十进制数字,并以科学forms显示在Excel中。 从我通过阅读中得到的信息来看,它似乎是Excel中的一个限制。 如果我标记单元格,但是我在顶部栏中看到了可以写公式的正确数字。 到目前为止,我已经解决了这个问题,简单地把这个数字作为一个string,让最终用户现在处理它,但我真的很希望它是一个在完成文档中的数字。 这可能吗? 但是,我的想法真是令人难以置信的是DateTime。 date格式如下所示:10/15/2013 […]

Excel VBA相等时间不匹配

我在Excel中有这个VBA代码: If (TimeValue(C_CurrentDate) = L_CurrentStartTime) Then do-someting End If 但它永远不会做“某事”。 示例数据是C_CurrentDate – > 17/03/2014 2:05:00和L_CurrentStartTime – > 2:05:00 比较的两边应该是2:05:00,但它仍然不匹配。 我甚至已经将它们都转换成了两倍的msgbox,并且它们都提供了8,68055555555556E-02 它们的区别在于E-17的范围。 这怎么可能? 这两个值都是从单元格数据中读取的。