我已经厌倦了将日期格式从dd/mm/yyyy
更改为yyyy-mm-dd
。在前端用户中,以dd/mm/yyyy
格式输入日期,同时将相同的详细信息导入到文本文件中,日期格式应以yyyy-mm-dd
格式打印。
Range("A1").Value = Format(Range("A1").value, "dd/mm/yyyy")
Range("A1").Value = Format(Range("A1").value, "dd/mm/yyyy")
用户已在单元格A1中输入日期dd/mm/yyyy
。将其导入文本文件时,应打印为yyyy-mm-dd
答案 0 :(得分:1)
您还应该更改单元格的格式,而不仅仅是其值:
Range("A1").NumberFormat = "yyyy-mm-dd"
答案 1 :(得分:1)
…您不能使用仅适用于实际日期和数字的Format()
。因此,您需要先分析字符串并创建一个实际日期:
Dim DateString As String
DateString = Range("A1").Value
'split string into 3 parts
Dim DateArr As Variant
DateArr = Split(DateString, "/")
'create a real date out of the 3 parts
Dim RealDate As Date
RealDate = DateSerial(DateArr(2), DateArr(1), DateArr(0))
'write real date into cell
Range("A1").Value = RealDate
'format it in desired format
Range("A1").NumberFormat = "yyyy-mm-dd"
…那么您只需格式化单元格
Range("A1").NumberFormat = "yyyy-mm-dd"
切勿使用字符串作为日期。日期必须始终是日期格式,不能是字符串/文本。否则,您将无法确定日期是dd/mm/yyyy
还是mm/dd/yyyy
。字符串日期是邪恶的!