As others have already mentioned, sys.tables will show the time the structure of the table was last changed. And you will need a trigger to show when the data was last changed.
So, here's an example:
--make a couple of test tables
if exists (select 1 from sys.tables where name = 'DataMod') drop table dbo.DataMod
go
if exists (select 1 from sys.tables where name = 'DataTest') drop table dbo.DataTest
GO
create table dbo.DataMod([schema] sysname, name sysname, modify_date datetime)
go
create table dbo.DataTest(TestCol1 int identity)
go
-- build a trigger to store off whenever the data is changed on the table
CREATE TRIGGER [trg_data_test] ON dbo.DataTest for update, insert, delete AS
insert into dbo.DataMod select 'dbo','DataTest', GetDate()
GO
-- show when the table was created and modified
select name, create_date, modify_date from sys.tables where object_id = object_id('dbo.DataTest')
GO
-- add three records
insert into dbo.DataTest DEFAULT VALUES
GO 3
-- add a new column to the table
alter table dbo.DataTest add TestCol2 uniqueidentifier default newid()
GO
-- show that the table was modified
select name, create_date, modify_date from sys.tables where object_id = object_id('dbo.DataTest')
GO
-- add three more records
insert into dbo.DataTest DEFAULT VALUES
GO 3
-- show that the data was added, and that the table that stores when the table was last modified has been added
select * from dbo.DataTest
select * from dbo.DataMod
GO
Wayne
Microsoft Certified Master: SQL Server 2008
Author - SQL Server T-SQL Recipes