MySql中是否有任何方法可以返回两个日期之间的天数。例如06/11/207
是开始日期,12/11/2017
是结束日期,那么我需要输出为:
周一,周二,周三,周四,周五,周六,周日
答案 0 :(得分:0)
你可以试试这个:
您可以从此链接中获取F_TABLE_NUMBER_RANGE函数:
http://www.sqlteam.com/forums/topic.asp?TOPIC_ID=47685
declare @start_date datetime
declare @end_date datetime
declare @days int
select @start_date = '06/11/2017'
select @end_date = '12/11/2017'
select @days = datediff(dd,@start_date,@end_date) +1
select
[Date] = dateadd(dd,number-1,@start_date),
[Day of Week] = datename(weekday,dateadd(dd,number-1,@start_date))
from
dbo.F_TABLE_NUMBER_RANGE( 1, @days )
order by
number
这是我为我欢呼的努力!
答案 1 :(得分:0)
使用Java。自动本地化。
myResultSet.getObject( … , LocalDate.class ) // Retrieve a `LocalDate` object from your database.
.getDayOfWeek() // Fetch the `DayOfWeek` object appropriate for this date. Ex: DayOfWeek.MONDAY
.getDisplayName( // Generate a String of the name of day-of-week.
TextStyle.FULL , // How long or abbreviated?
Locale.US // Or Locale.CANADA_FRENCH, etc.
)
周一
通常最好在您的应用中进行此类转换,而不是SQL,恕我直言。
Java现在在Java 8及更高版本的 java.time 类中拥有业界领先的日期时框架。
LocalDate
类表示没有时间且没有时区的仅限日期的值。
使用JDBC 4.2及更高版本,您可以直接与数据库交换 java.time 对象。
LocalDate localDate = myResultSet.getObject( … , LocalDate.class ) ; // Retrieval.
myPreparedStatement.setObject( … , localDate ) ; // Insert/Update.
DayOfWeek
枚举提供七个现有对象,一个星期中的每一天。使用getDisplayName
方法生成星期几的自动本地化名称。
DayOfWeek dow = localDate.getDayOfWeek() ;
String output = dow.getDisplayName( TextStyle.FULL , Locale.CANADA_FRENCH ) ;
Lundi将军
或者,美国英语:
DayOfWeek dow = localDate.getDayOfWeek() ;
String output = dow.getDisplayName( TextStyle.FULL , Locale.US ) ;
周一
将LocalDate
个对象与isBefore
和isAfter
以及其他方法进行比较。通过调用LocalDate::plusDays
来逐步循环每个日期。
java.time框架内置于Java 8及更高版本中。这些类取代了麻烦的旧legacy日期时间类,例如java.util.Date
,Calendar
和& SimpleDateFormat
现在位于Joda-Time的maintenance mode项目建议迁移到java.time类。
要了解详情,请参阅Oracle Tutorial。并搜索Stack Overflow以获取许多示例和解释。规范是JSR 310。
您可以直接与数据库交换 java.time 对象。使用符合JDBC driver或更高版本的JDBC 4.2。不需要字符串,不需要java.sql.*
类。
从哪里获取java.time类?
ThreeTen-Extra项目使用其他类扩展java.time。该项目是未来可能添加到java.time的试验场。您可以在此处找到一些有用的课程,例如Interval
,YearWeek
,YearQuarter
和more。