如何将字符串30-Jul-17
转换为日期格式07/30/17
?Visual FoxPro字符串日期转换
1
A
回答
2
我不认为在VFP中有内置的方式来解析缩写月份字符串(甚至是完整的月份名称)。如果是我,我会像这样为每个缩短的月份使用CASE语句。
lcStringDate = "30-Jul-17"
lcDay = LEFT(lcStringDate, 2)
lcMonth = SUBSTR(lcStringDate, 4, 3)
lcYear = "20"+RIGHT(lcStringDate, 2)
*!* Here you'd need to have code to convert abbreviated
*!* month to a numeric month
DO CASE
CASE lcMonth = "Jan"
lcNumericMonth = "1"
CASE lcMonth = "Feb"
lcNumericMonth = "2"
.
.
.
ENDCASE
?CTOD(lcNumericMonth+"/"+lcDay+"/"+lcYear)
*!* this would output "07/30/17" if SET CENTURY is OFF
*!* this would output "07/30/2017" if SET CENTURY is ON
1
要在什么史蒂夫提供稍微延伸,你可以把它作为一个功能,并多次致电...
lcDate = "30-Jul-17"
? DMYToDate(lcDate)
lcDate = "15-August-17"
? DMYToDate(lcDate)
lcDate = "29-Feb-17" && No such feb 29, 2017
? DMYToDate(lcDate)
lcDate = "32-Mar-17" && no month 32 days
? DMYToDate(lcDate)
FUNCTION DMYToDate
LPARAMETERS lcTryDate
local lnDay, lnYear, lcMonth, tmpDate, ldNewDate
lnDay = INT(VAL(LEFT(lcTryDate, 2)))
lnYear = 2000 + INT(VAL(RIGHT(lcTryDate, 2)))
lcMonth = SUBSTR(lcTryDate, 4, 3)
*/ Cycle through each month with arbitrary start date...
tmpDate = DATE(2000,1,1)
DO WHILE YEAR(tmpDate) < 2001
IF ATC(lcMonth, CMONTH(tmpDate)) = 1
EXIT
ENDIF
tmpDate = GOMONTH(tmpDate, 1)
ENDDO
IF YEAR(tmpDate) > 2000
*/ No such month found, return empty date.
RETURN CTOD("" )
ENDIF
TRY
ldNewDate = DATE(lnYear, MONTH(tmpDate), lnDay)
CATCH
ldNewDate = CTOD("")
ENDTRY
RETURN ldNewDate
ENDFUNC
0
试试这个:
“a” 是你的日期字符串
DATE(2000+VAL(SUBSTR(a,8,2)),int((AT(SUBSTR(UPPER(a),4,3),"JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC")-1)/3)+1,VAL(SUBSTR(a,1,2)))
相关问题
- 1. 转换日期字符串
- 2. 日期字符串转换
- 3. 转换日期字符串
- 4. visual foxpro连接字符串
- 5. 解析日期字符串(字符串转换为日期)
- 6. 将字符串转换为日期并将日期转换回字符串
- 7. 转换伪日期字符串转换成JavaScript日期对象
- 8. 转换日期为字符串,将字符串和逆变换为日期SQL
- 9. 转换从字符转换日期/时间失败字符串
- 10. 将日期字符串转换为带日期的ISO日期
- 11. 如何将字符串转换为日期? Visual Basic中
- 12. 字符串转换为日期对象在Visual Studio
- 13. 将字符串转换为日期。 SQL
- 14. 从字符串SQL Server日期转换
- 15. 转换日期为字符串模板
- 16. 将字符串转换为日期python
- 17. 不能与字符串转换日期
- 18. 不能从字符串转换日期
- 19. 将字符串转换为日期
- 20. SQL将字符串转换为日期
- 21. 字符串转换为日期在PST
- 22. PHP - 转换字符串到日期
- 23. 将字符串转换为日期C++
- 24. 转换日期字符串的DateTime C#
- 25. SimpleDateFormat将字符串转换为日期
- 26. 转换冗长字符串日期PHP
- 27. Oracle日期字符串转换
- 28. MongoDB中转换字符串到日期
- 29. 转换日期为字符串 - JAVA
- 30. 转换字符串到日期在Java
感谢您的想法。我希望有一个更简单的方法,但这会起作用。 – Nick