在我的表格中,我将当前日期/时间设置为:
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:openDrawer="start">
<include
layout="@layout/app_bar_main"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<android.support.design.widget.NavigationView
android:id="@+id/nav_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
android:fitsSystemWindows="true"
app:headerLayout="@layout/nav_header_main"
app:menu="@menu/activity_main_drawer" />
</android.support.v4.widget.DrawerLayout>
但有没有办法可以将其设置为自1970年以来的秒数.Unix纪元(或Unix时间或POSIX时间或Unix时间戳)是自1970年1月1日以来经过的秒数
我意识到我需要将此字段作为整数但我不确定如何设置默认值?
答案 0 :(得分:3)
虽然我真的建议最好存储datetime2
值甚至datetime
,但您可以简单地使用Alex K的建议:
DECLARE @T AS TABLE
(
UnixTime int DEFAULT(DATEDIFF(SECOND, '1970-01-01 00:00', GETDATE())),
CreateDate datetime DEFAULT(GETDATE())
)
测试:
INSERT INTO @T DEFAULT VALUES
SELECT *
FROM @T
结果:
UnixTime CreateDate
----------- -----------------------
1468930170 2016-07-19 12:09:30.380
Damien_The_Unbeliever建议的另一个选择是使用计算列:
DECLARE @T AS TABLE
(
CreateDate datetime DEFAULT(GETDATE()),
UnixTime as DATEDIFF(SECOND, '1970-01-01 00:00',CreateDate)
)