- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我对 vb 2008 和 MySQL 服务器中的日期格式有一些问题。我想要一个文本框,输入接受这种格式 dd-mm-yyyy 和 dd/mm/yyyy 的日期,然后将其转换为 mysql 日期格式 yyyy-mm-dd。
到目前为止,我不知道如何开始这种日期格式,但我想将它放在一个模块中。
非常感谢任何想法。谢谢
最佳答案
用户倾向于以各种格式输入日期,例如 dd-MM-yyyy、dd/M/yyyy、d.MM.yyyy 等。尽管我们可以使用验证器、正则表达式来遏制它们等等,但在不使用任何正则表达式、验证器和插件的情况下,我们可以使用以下方法来验证和转换以以下格式作为字符串传递的日期:
day[separator]month[separator]year
其中日期可以是 d
或 dd
(3, 03),
月份可以是 M
或 MM
(7, 07),
年份可以是 yy
或 yyyy
(15, 2015) 和
分隔符可以是 [space]
、/
、.
或 -
并且可以采用混合格式,例如dd-MM-YYYY
、dd/MM/YYYY
、dd.MM.YYYY
、dd MM yyyy
、 d-M-YY
、d/M/YY
、d.M.YY
、d M yy
、d- MM-YYYY
、dd/M/YYYY
、dd.MM.YY
等
此函数将日期作为上述任何格式的字符串参数,并验证并返回 yyyy-MM-dd
格式的日期。它检查闰年,并以 1970 年为基础检查从 yy
转换为 yyyy
格式。
Public Function DMYtoYMD(stDate As String) As String
Dim blValidDate As Boolean = True
While stDate.Contains(" ")
stDate = stDate.Replace(" ", " ")
End While
stDate = stDate.Trim.Replace(" ", "-").Replace("/", "-").Replace(".", "-")
Dim stFinalDate As String = ""
If stDate.Length > 0 Then
Dim mc As String() = stDate.Split(CChar("-"))
Dim inDay As Integer = CInt(mc(0))
Dim inMonth As Integer = 0
If IsNumeric(mc(1)) Then
inMonth = CInt(mc(1))
Else
For inMonthNo As Integer = 1 To 13
If inMonthNo = 13 Then
inMonth = 0
blValidDate = False
Return ""
ElseIf MonthName(inMonthNo, True).ToLower = mc(1).ToLower.Substring(0, 3) Then
inMonth = inMonthNo
Exit For
End If
Next
End If
Dim inYear As Integer = Math.Abs(CInt(mc(2)))
stFinalDate = ""
If inYear < 100 Then
'use above condition to convert 0 (i.e. 2000) to current year to 20xx and all others to 19xx
'If inYear >= (CInt(Format(Today, "yy")) + 1) Then
'use this condition to convert all yy year above 70 to 19xx and all others to 20xx
If inYear > 70 Then
inYear += 1900
Else
inYear += 2000
End If
'ignoring year from 101 to 999 (as per my specific requirement for the project). valid dates are to be from 1900 or above
ElseIf inYear < 1900 Then '101 to 999
stFinalDate = ""
blValidDate = False
End If
If (inMonth < 1 OrElse inMonth > 12) Then
stFinalDate = ""
blValidDate = False
ElseIf (inDay < 1 OrElse inDay > 31) Then
stFinalDate = ""
blValidDate = False
ElseIf ((inMonth = 4 OrElse inMonth = 6 OrElse inMonth = 9 OrElse inMonth = 11) AndAlso inDay = 31) Then
stFinalDate = ""
blValidDate = False
ElseIf (inMonth = 2) Then
Dim isleap As Boolean = (inYear Mod 4 = 0 AndAlso (inYear Mod 100 <> 0 OrElse inYear Mod 400 = 0))
If (inDay > 29 OrElse (inDay = 29 AndAlso Not isleap)) Then
stFinalDate = ""
blValidDate = False
End If
End If
If blValidDate Then
stFinalDate = CStr(New Date(inYear, inMonth, inDay))
If Not IsDate(stFinalDate) Then
stFinalDate = ""
Else
stFinalDate = Format(New Date(inYear, inMonth, inDay), "yyyy-MM-dd")
End If
End If
End If
Return stFinalDate
End Function
您可以简单地将其称为
Dim dtDate As String = ""
dtDate = DMYtoYMD(TextBox1.Text) 'or as Class1.DMYtoYDM as per your code structure
如果输入日期无效,此函数将返回零长度字符串。可以进一步修改它以包含 MMM
或 MMMM
格式以转换为 MM
并检查 MM-dd-yyyy
code> 或根据您的要求的其他输入格式。
关于mysql - VB 2008 和 MySQL 中的日期格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33193862/
我想做的是让 JTextPane 在 JPanel 中占用尽可能多的空间。对于我使用的 UpdateInfoPanel: public class UpdateInfoPanel extends JP
我在 JPanel 中有一个 JTextArea,我想将其与 JScrollPane 一起使用。我正在使用 GridBagLayout。当我运行它时,框架似乎为 JScrollPane 腾出了空间,但
我想在 xcode 中实现以下功能。 我有一个 View Controller 。在这个 UIViewController 中,我有一个 UITabBar。它们下面是一个 UIView。将 UITab
有谁知道Firebird 2.5有没有类似于SQL中“STUFF”函数的功能? 我有一个包含父用户记录的表,另一个表包含与父相关的子用户记录。我希望能够提取用户拥有的“ROLES”的逗号分隔字符串,而
我想使用 JSON 作为 mirth channel 的输入和输出,例如详细信息保存在数据库中或创建 HL7 消息。 简而言之,输入为 JSON 解析它并输出为任何格式。 最佳答案 var objec
通常我会使用 R 并执行 merge.by,但这个文件似乎太大了,部门中的任何一台计算机都无法处理它! (任何从事遗传学工作的人的附加信息)本质上,插补似乎删除了 snp ID 的 rs 数字,我只剩
我有一个以前可能被问过的问题,但我很难找到正确的描述。我希望有人能帮助我。 在下面的代码中,我设置了varprice,我想添加javascript变量accu_id以通过rails在我的数据库中查找记
我有一个简单的 SVG 文件,在 Firefox 中可以正常查看 - 它的一些包装文本使用 foreignObject 包含一些 HTML - 文本包装在 div 中:
所以我正在为学校编写一个 Ruby 程序,如果某个值是 1 或 3,则将 bool 值更改为 true,如果是 0 或 2,则更改为 false。由于我有 Java 背景,所以我认为这段代码应该有效:
我做了什么: 我在这些账户之间创建了 VPC 对等连接 互联网网关也连接到每个 VPC 还配置了路由表(以允许来自双方的流量) 情况1: 当这两个 VPC 在同一个账户中时,我成功测试了从另一个 La
我有一个名为 contacts 的表: user_id contact_id 10294 10295 10294 10293 10293 10294 102
我正在使用 Magento 中的新模板。为避免重复代码,我想为每个产品预览使用相同的子模板。 特别是我做了这样一个展示: $products = Mage::getModel('catalog/pro
“for”是否总是检查协议(protocol)中定义的每个函数中第一个参数的类型? 编辑(改写): 当协议(protocol)方法只有一个参数时,根据该单个参数的类型(直接或任意)找到实现。当协议(p
我想从我的 PHP 代码中调用 JavaScript 函数。我通过使用以下方法实现了这一点: echo ' drawChart($id); '; 这工作正常,但我想从我的 PHP 代码中获取数据,我使
这个问题已经有答案了: Event binding on dynamically created elements? (23 个回答) 已关闭 5 年前。 我有一个动态表单,我想在其中附加一些其他 h
我正在尝试找到一种解决方案,以在 componentDidMount 中的映射项上使用 setState。 我正在使用 GraphQL连同 Gatsby返回许多 data 项目,但要求在特定的 pat
我在 ScrollView 中有一个 View 。只要用户按住该 View ,我想每 80 毫秒调用一次方法。这是我已经实现的: final Runnable vibrate = new Runnab
我用 jni 开发了一个 android 应用程序。我在 GetStringUTFChars 的 dvmDecodeIndirectRef 中得到了一个 dvmabort。我只中止了一次。 为什么会这
当我到达我的 Activity 时,我调用 FragmentPagerAdapter 来处理我的不同选项卡。在我的一个选项卡中,我想显示一个 RecyclerView,但他从未出现过,有了断点,我看到
当我按下 Activity 中的按钮时,会弹出一个 DialogFragment。在对话框 fragment 中,有一个看起来像普通 ListView 的 RecyclerView。 我想要的行为是当
我是一名优秀的程序员,十分优秀!